I have more than a thousand places where this happens in a single mesh object. As you can see in the image, part of the faces are overlapping. I want to delete the overlapped part of the faces.
Boolean modifier won't work because it's a single mesh that has many places where this happens.
Remesh modifier won't work because it creates big blobs of new mesh were there doesn't exist anything.
Blender doesn't recognize that as an "interior face" too so the seletect "interior faces" and delete method won't work either. How do I delete the overlapped part of the faces?
AFAIK there is no one-klick method for this and every possible way to pull this off requires a decent amount of work. Let's break down what we actually can do with the limited information about your model/scene you provide.
Let's assume (by the look of the screenshots) that your model is a minecraft-like structure where the original blocks (before joining) only touch each other's faces and never intersect and they also don't have merged vertices. What we then can do with this, is separating the model into individual primitives quite easily.
Tab into edit mode, hit A to select everything, then P to start separating and select "by loose parts" in the menu.
Now, that we have separate blocks we could try combining the meshes step by step using the boolean modifier with the union operator.
The bad news is that the boolean modifier might not work as expected on many occasions (if you have mesh intersections or the meshes simply have no connecting faces...) and with "more than a thousand" partly hidden faces this method will be so much work that you easily could reconstruct your model from scratch as well.
Might have some good news for ya! So I just tried using Knife project to add extra seams where the boxes meet. The only reason we are making cuts, is so we can then merge overlapping vertices (W, "Remove Doubles") which will form the face inside that we want to delete. Then we can take advantage of a selection tool "Select" "Interior Faces", and finally delete "Faces Only".
Even if you scene is very dense, this technique will save you much more time than doing it by hand. You can begin to plan for and create different knife projection meshes to cut different groups. You can even reuse knife project meshes. Once you make your cuts, and merge doubles, you can let the Select Interior Faces tool do the hardest part, and then delete Faces Only.
To use Knife Project, I had to join the boxes into one object (Ctrl + J), and then I needed a separate plane object that would serve as the projected knife. Line up the plane perfectly using snapping, so cuts line up with the existing vertices. Then, select the plane in object mode, and Shift select the combined box object. Enter Edit mode, and your boxes will now be in Edit Mode, while your selected plane stays in object mode. Change your view to Orthorgraphic, and Front or Side (which ever lines the plane up to cut the boxes right.
If you have rotated your boxes to some odd degree that does not line up with global front, side, or top views, you can still line up your view with Shift + NumPad7 (or + NumPad3 or + NumPad1) while a face is selected. This will align your view to the top/side/front relative to the normal of that selected face. This is an amazing shortcut that can help you precision model on faces that are at odd angles not lined up with global front, side, or top views. Be sure that your plane is lined up exactly for best cutting results. Make use of snapping tools as needed. Do your cut while in Orthographic mode, and check the box "Cut Through" under the Knife Tool Sidebar (it only appears after you click Knife Project).
Once you have your cut perfect, while your boxes are in Edit Mode, press "W", "Remove Doubles".
Finally, there is a lovely tool we can use to automatically select internal faces like the one we just made. From the menu, choose Select, Interior Faces (or spacebar and type "Select Interior Faces"). Now you can delete them with "X" "Faces Only". I hope this helps.