Drinky Crow said:
Stop masturbating so damn much.
That's a good start. After having an orgasm, every guy has a period of time where his penis can't get hard (called the "refractory period")...but in my experience, there is also a seperate, longer period of time before he can orgasm again. If you're busy all afternoon shaking hands with the bishop, and you're not able to orgasm when you're hooking up with your girlfriend in the evening, that could be why.
Recreational drugs and alcohol generally tend to impair sexual performance. Drinking a MODERATE amount of alcohol can lower your inhibitions and "numb you out" a little bit so you can last longer in the sack...but too much will leave you unable to get hard or too tired/dizzy to have an orgasm. I have no personal experience mixing drugs and sex, but from what I hear, they can wreak some havoc on your body as well.
Over-the-counter and prescription drugs can ALSO play a big role in your sex life. Most SSRIs (aka "pills to treat depression") are noted for their suppression of libido and orgasmic function, and there may be other types which could affect your particular body. A personal example: I was very sick this summer (I think it was whooping cough, but that's another story) and was coughing so violently that I couldn't sleep through the night...for two months. I was taking significant doses of dextromethorphan-based cough suppressant pills OTC just to get a couple of hours of sleep at night...but the side effect was that I could not orgasm, no matter WHAT I did. It took me a little while to figure out that the two were linked -- once I stopped taking the drug, I was fine in two days. (Interestingly enough, that side effect of DM is well-known in the medical community, but the public information on websites doesn't mention it.)
Psychology can be a HUGE reason why you don't finish. Once something "bad" happens to you in the sack, guys tend to fixate on that thing, hoping so badly that it won't happen again that -- ironically enough -- it usually happens again. No matter what happens one particular time you have sex -- penis won't get hard, cum too quickly, can't cum at all -- it's important to realize that your body reacts SO differently from session to session, and not freak out about it. It's especially true when you're fairly new at sex, since you're still figuring out what you like and don't like, and you're nervous about getting caught, about being a "bad lover," about your girlfriend actually being a man in disguise... (OK, just kidding about the last one.)
If time and situation permit, you should be alone with your girlfriend for a couple of hours. Enjoy lots of foreplay together -- you should both be trying to get each other completely revved up. Have her start with some oral on you before you actually start intercourse. The first time, be selfish -- it's all about you having an orgasm and showing her how good she makes you feel. Then, make out some more, go for Round 2...and you won't have that stumbling block in your head that says "what if I can't cum?" since you just did.