Please help me. Why does SEX beat LOVE?

I hate myself. I was with my high school sweetheart for 4 years. I know he is my soulmate. I'm in love with his personality, it suits mine perfectly. I trust him with all of my heart and soul, I feel completely safe around him and he's just a plain amazing guy. In all the years I've known him... he's never hurt me in any way. That is incredible. The only thing is... I've never really been physically attracted to him. Basically not at all. :(
I still loved him but I broke up with him when I realized it wasn't fair to him that he was with someone so shallow and deserved a girl who was attracted to him in ALL ways.

Then, a few months later right on cue... I met my latest ex. It was the opposite with him. I was and unfortunately still am EXTREMELY physically attracted to him. But I just knew in my gut he wasn't right for me and I broke up with him after realizing I didn't see any kind of future with him. He was pretty immature with a LOT of mental illnesses (I have two of my own so I'm not judging him for the illnesses btw) and I didn't feel safe around him at all like I did with my first ex. And unlike my first ex, he did hurt/upset me at times. But the sex was out of this world.

With my 1st ex I have a strong emotional/mental connection and with my 2nd I have a strong physical/sexual connection. It seems like the first should win out so WHYYYY is my 2nd ex the only one on my mind? I hate myself for this. Both of them want to get back together and of course I want to be with my first because I know he's my soulmate but that wouldn't be fair to him when I'm constantly pining over my 2nd. I feel so shallow and primal that my body is winning over my heart. Is this normal? Why is it like this? How can I change this, it disgusts me?
Please help me. Why does SEX beat LOVE?
Add Opinion