Look, everyone has there issues and no one is perfect. That goes for you andrew, and that goes for any partner you may have. I think it may be true that you have to get yourself to a point where you love yourself before you can love someone else, but at the same time, like I said, no one is perfect.
My first piece of advice.. calm down. Don't let some of these people get to you. Anyone can say anything on the internet.
Now, you asked what makes the perfect boyfriend, and to be honest I don't know. Apparently I'm not one... but your post tends to go in a different direction somewhat... You have to understand that if a relationship ends, it doesn't necessarily mean it's your fault. It would be wise to see what you could have done better, and maybe use it to fix your current relationship, or use it to make a new one work better. But you have to really sit down with yourself and think... what parts were my fault and what parts were my partners fault? Maybe it was all your fault. Maybe it was all her fault. Maybe (probably) a mixture of both. You just have to figure out the problem and deal with it by learning from it, fixing it etc.
Hey good luck Andrew. I wish you the best :)