If you are using an ortho projection, I think it's easier to use nodes than a modifier.
Using object coordinates, for a specified object (an empty here) is much like using a UV project modifier.
I showed you a backface to demonstrate what I'm doing. In addition to the object coordinates, I'm also getting the distance to the object (by taking the square root of the dot product of the vector to that object with itself.) In this case, as shown, I'm limiting the distance enough so that it doesn't show through the other side of the mesh. (I could also limit drawing to only faces on the negative Z side of my object, by multiplying alpha with object.z<0 instead, in which case it would only project in one direction. Cameras point in their -Z axis.) Note that I can just scale the empty in its local Z axis if I want adjust the "clip" of this.
If you need something with perspective, you can still use the UV project modifier-- but just like I did with this object, you can measure the distance to your UV projector in nodes, and then limit what you draw with it to one direction or to faces within a given distance.
Here my projection is only hitting faces in front of the camera that I'm using to project.
Hopefully it's clear from this how you could establish other distances or planes to limit the drawing of the projection as well.