Porque is used when you have something that is a complete cause following it (I can't sleep because there is too much noise) No puedo dormir porque hay demasiado ruido, where as por here is used to mean because of, rathere than because
I thought "porque" here instead of "por". None of the common things I have listed for "por" seem to fit here. Playing around with google translator I see many constructions could use "por" to mean "because". So I have to add that to the list of possibilities for "por".
because here "dormir" is not the action you're doing, is the thing you cannot do. it acts as "Complemento Directo" (idk in English). when a verb is used in such a way, (as a noun) the infinitive is used