It's not about perfection. Its about common decency and kindness. The OP obviously has issues. Maybe neither of you two shouldn't be with anyone til you sort your problems out. At the very least, you two shouldn't be together.
I'd hate to have a girlfriend like the OP. Little girls need to learn what love is, maybe question if it even exists. You love him, yet you treat him so bad all it takes from him to fancy another girl is her being NICE to him!?
I find it laughable that you even think you love him. If you lubbed him, you'd be a better girlfriend. Treat him nicely, and he will do the same. If you treat him bad you push him away and you only have yourself to blame.