Then you need to clearly communicate expectations. You said elsewhere that you don't expect a full 8 hours, but are unhappy with 4-5. What is the quantity of work you want done? And it can't just be accomplishing tasks on deadline, because your scheduling process is based on a certain number of man hours per week.
I want him to be motivated intrinsically.
Intrinsically? OK, how much of the company does he own?
None? LOL. The biggest con perpetrated against programmers is that they can be made to care so much about something that isn't theirs for reasons that aren't money. If this guy is outside of that, it's a more healthy mental state to have about a job. So what do you offer that another employer won't do the same/better on?
On the other hand, you might think that making her stay longer hours will deliver more result - but that's not always true. In fact, she might even lose her productivity and deliver significantly less than now.
Have you thought that maybe leaving early is what motivates him?
Motivation is way more effective when it's something from inside (from the person) rather that from an outside stimuli (ie: a raise)
You need to understand what are his needs (what call him to action) in order to provide an environment that allows him to thrive