I used to have this problem, but I've gotten over it.
It can be a very serious thing if you don't get it under control; I haven't read the entire thread but the OP obviously recognizes the seriousness of it and I hope he / she works through it, because if it's allowed to get worse, it can cause serious problems in your life.
Here's what I did:
1. I learned to accept that not everything can be perfect, and that it's better to get something imperfect done on time than to wait until the last second and screw it up.
I love working under pressure, but I've also come to realize that if you don't leave enough time, you may just choke, and that's much worse than budgeting your time and leaving in some slop. Life happens; plan accordingly.
2. I make a list. I do the stuff on the list. I repeat as necessary.
3. When I know I'm procrastinating, I ask myself why.
If I don't have an answer better than, "because it's not time yet" then I start hacking away at it, whatever it is, and get at least some of it done immediately. This works really well for tasks where the work doesn't all have to be done at once, like homework, dissertations, coding, laundry and art.
4. I have clear priorities and avoid distractions when it's necessary.
Recognize that a lot of behaviors are avoidance; if you're not getting your homework done because "my girlfriend / buddies call me and I never have time", etc., that's serious and you need to shut your phone off, log off of Skype, stay away from email and not post here for a while.
Real friends and potential life partners will understand, especially if you explain it to them clearly. If they don't get it, find new friends. Family is a lot trickier, but that's why voicemail was invented. Manage your time and recognize that if you're not getting things done, then you can't be there for the people who need you.
5. If it happens at work, which is rare for me right now, I take a moment to reflect on my priorities again.
6. If I feel like I "don't have time", I review what I've been doing all day. If I don't have a lot of productivity to show for my hours, that's a black mark, but it's more important to recognize that it's happened than to beat yourself up about it. Look at your time honestly, and if you're behind, don't dawdle any more. I'm so busy right now that that doesn't happen very frequently, but I still review my days.
7. Definitely plan out your week in at least minimal detail. Have a clear vision of your goals for the week and when they need to happen. You don't need to plan it down to the last detail, but all of the major things need to be there; work, important events you need to attend to, gifts you need to buy, people you need to talk to, bills you need to pay. Note the emphasis on "need". If it's not "need", it probably shouldn't be on the list, unless it's a reward you're giving yourself for being productive.
8. Strongly consider scheduling yourself for activities you're interested in. Join a health club, learn a martial art, get some studio space and paint once a week, join a book club, etc. If it's something fun and social but it requires some actual thought and preparation, it's probably a good idea.
For example, every Thursday, if I'm not behind on work, I get to go write poetry at my local open-mic and do a live performance of my work if I manage to get anything written worth reading during the two-hour period of the show. This serves as a kind of a pressure test and way to keep my brain and speaking skills sharp. I don't claim to be a very good poet, and the art's done ad-hoc, on the scene; if I dawdle, I don't get to perform. If I can't go because I'm behind on work, that's feedback. Because it's always on my schedule and I enjoy it when I complete the task under pressure, I always have feedback about how I'm doing.
In short, get organized, know what's important and work on something useful until you're all done
