how to stop blaming myself?

i blame myself when men aren't interested in me. i was the ugly girl in school when i was growing up, and when i dyed my hair, i suddenly attractive and dudes cared about me - so, it became my responsibility. if a guy didn't like me, it was because of something i could change. i am completely capable of looking perfect, it's my fault if i don't look like the perfect golden tanned model that men want me to be. 
i'm very confident in my looks, but my body isn't that of a model's - and i'm highly aware of it. dudes won't like me if i don't look perfect, right? my thighs are too large and my belly too soft. my friends assure me that my body is great, but they're constantly getting compliments and attention while i'm just... sitting there. it's easy to tell someone about "body confidence" when your body is constantly being validated.
it shouldn't matter so much, but i know it does. every guy cares. no guy will be satisfied with me. it's why they never date me, they just smash and leave. i'm not enough because my body isn't there yet. it's my fault.
ahhh idk, i'm just venting.  is there really any way to stop thinking like this? why am i so damn hard on myself? i'm literally the most anti-male opinion person on earth, but i thrive off of validation. whyyy.