For as long as I can remember I have been a super procrastinator.

You have misdiagnosed yourself, which is why you've had so much difficulty finding a solution. You're trying to solve the wrong problem...

You are not a procrastinator. You are a fish out of water. You are not where you belong, working on what you should be working on. You consciously don't realize this, but deep down inside, you really do; that's why you're fighting yourself. That also pretty much explains all of your behavior.

However, I'm also pretty smart which helps me fake it so that no one else notices.

So what. Join the crowd

I think part of my problem might be that I grew up with an entitlement complex as I was valedictorian, near perfect SATs etc. and I never did shit in high school.

It's about time that you stop diagnosing and analyzing yourself and start seeking what you love and where you belong.

Now that I'm in the real world it's starting to really gnaw at me.

Funny how that works. Welcome.

I make $130k as a 21 year old

Forget about that. Some of the worst personal decisions ever made were over-influenced by money. Don't fall into that trap. The next thing you know, you'll be 55 years old, with what others would call a good life, and you'll be wondering where the time went and why you didn't live the life your really wanted. I know know tons of people just like that, who spent so much time chasing nickels, they never really lived their intended life. Don't end up like them.

and I probably put in 3 hours of real work a day.

Then you're probably in the wrong job.

I'm a good enough programmer that I can bullshit my way through most stuff

How sad. Find a better path.

at this point I think people are starting to realize that I'm a bit slower than I could be

The lack of congruence in your life will manifest itself in many ways. This is just one.

I still push out a lot of code, but I secretly spend 7-8 hours a day doing bullshit at work (reading online, games, etc).

Another signal that you're in the wrong place. It's not you, it's your situation.

I know that I've been given a gift and that I'm a fucking idiot for wasting it

Knowing there's a problem is good.

but I've just become a chronic procrastinator and it sucks.

Misidentifying the problem is not good.

I could be changing the world

You are changing the world. Just not in the way you imagined. Your post here is probably helping many others. And that's just one thing.

We all change the world in our own small way. Learn to accept that's OK.

I'm putting in the bare minimum and no matter what trick or method I try I can't seem to beat it.

Because you're addressing the wrong problem. See above.

I've never had a strong willpower to begin with and now it seems to be getting worse

Willpower's got nothing to do with it. (Example: How much willpower does it take to not beat your children?) Just to the right thing. That doesn't take willpower, just identifying the right thing and then doing it.

Any advice on how you taught yourself to focus on tasks, build willpower, and get shit done would be helpful.

Yea. Stop fighting "it" and find what you'd love to do. Then start doing it. You'll be amazed that you ever even posted this here.

I wonder if I really fucked my brain/habits up so much that I'll never reach my full capacity.

No. Unless you did lots of drugs or fell off you bike or something like that.

I've been like this for the past 6-7 years and it doesn't seem to be going away anytime soon.

Doesn't matter...

2 people are going from New York to San Francisco. One has gone directly from New York to Chicago. The other has made stops in Florida, Texas, Virgina, and Oklahoma on his way to Chicago. How do their plans differ now that they are both in Chicago and need to get to San Francisco? They don't. The past doesn't matter. Only the present and the future. This applies to you too. Forget about the past 6-7 years and find your path.

My dad is also very similar in that he's smart enough to bullshit through life but he only works at 10-20% of his full capacity and he never completes anything.

One at a time please.

Help!?

I hope I have. If not, or you need clarification, contact me via the email in my profile.