That example sentence is poorly written so I'm going to ignore it and just describe how to use for to explain a reason.
We went to the store, because we were hungry.
We went to the store, for we were hungry.
Both of those sentences are correct and mean the same thing. The only real difference is that using for like this is a bit literary and uncommon in everyday speech.
This sentence is correct:
He could see over their heads because of his tallness.
This sentence is NOT correct:
He could see over their heads for his tallness.
Why are the correct examples correct and why is the incorrect example incorrect?
Because introduces a subordinate clause that explains a reason.
For also introduces a subordinate clause the explains a reason.
Because of, on the other hand, is followed by a noun (and its accompanying modifiers). Because of does not introduce a subordinate clause.
Let's try to take a look at the example sentence you gave...
He deserves a better academic environment for his dedication.
I believe this usage of for is used similarly to how it's used in the below examples:
For that much money, you deserve better.
You can have that TV for $200!
In other words, it is specifying one half of a deal. When we compare that to:
He deserves a better academic environment because of his dedication.
I would say that the former carries a nuance that a better academic environment is his earned right. The second sentence is a little bit weaker in that giving him a better academic environment could be seen more as a favor or largesse, not something that he has earned a right to. In the end though, there is not very much difference between these two expressions.