This is coming from an 18 year old so it's possible you may think my advice is just out of age range. But I'll say what I have to say...
I'm a firm believer in the follow your heart deal. You seem like your heart is set on waiting for your special night and it's your mind making you feel guilty. But chances are, since you've been set on waiting until your special night for so long, that if you give in it IS gonna eat away at you and make you feel horrible for whatever reason :/
I'm someone who has decided to just wait for the one person you care truely for and make sure those feelings are real. That's the way I have always felt about sexual matters and made my decision based on that... year and half later, I'm not disappointed in myself one bit. I'm still with the guy and I can see a future with him.
This really is just something you gotta think upon and make sure you dig down to the nitty gritty of the ordeal and make the decision for you. In the end, it's gonna be right and okay