Is it possible to select only the faces that form the first "level"?
Select few unwanted faces (one in each X, Y direction)
Search for Select Similar &gt; Normal
Separate P by Selection and hide newly generated object
For faces oriented Z use type Co-Plannar because type Normal takes into acount too many top faces

Tips:

you can delete them directly, but it is better to check if in this separation isnt a face you want to join back
use Face Orientation overlay to see better unwanted faces




This technique is not a perfect, but does some job.

I don't know what is the purpose of this model, but if you don't care about UV Map and some loose of &quot;accuracy&quot;, some cleaning can be done also witm Merge by Distance like 0.2 (in Vertices select mode) and search for Fill Holes operator to close some gaps. In this case you don't have to boder with separation of unwanted faces. They will be removed anyway.