Why the knife tool can't be used on some of my faces?
It appears to be because you are trying to cut into the "virtual" geometry created by the mirror. You have set the Mirror modifier to display both sides as if they as edit-able, but the KnifeProject feature doesn't seem to take the mirrored geometry into account (but it is reasonable to expect that it should..)



the option with the green square let's you edit both sides, but not project onto both sides.







Other problems with your model:  

You also have some issues with degenerate geometry (faces with zero area), and faces that you might not be aware of causing non-manifold geometry. Use 



to look for hidden geometry, and in Face selection mode look for Dots on Edges, that's an indication that you have collapse or potentially  "invalid" geometry.



Additionally, the KnifeProject tool has a feature which can limit/extend the distance the cut goes into the geometry.



Is the different between these two cuts (cut from a different Viewing angle than shown so you can see the range of the cut)