Most Helpful Guy
Generally I consider physical cheating to be pretty simple, and straightforward. Anything from a kiss or beyond is cheating to me, but that's my definition on physical cheating, though it could be forgiven if it were like an acting gig or something. Emotional or mental cheating is much more complicated, and harder to nail down. It's not sexual, and it's something you can't really control. However, if it can't be worked out, then it's something you need to accept as a loss, and just break it off.
In your case, your boyfriend really kinda sucks. Sure he's being honest about it, but man... he still sucks. He wanted to cheat on you in the first month, he leers at other girls, and he's actively talking to his ExGFs, telling them he wants them back. Your relationship is in serious trouble, and I do NOT think it's your fault. It's him. Clearly. He's not going to change, and this is not going to get better. If he hasn't cheated yet, it seems to me that it's just a matter of time, by now.
What to do?
Well, he says he wants to be with someone else, I say let him. Kick him to the curb. He doesn't appreciate you, he's not happy, and he is constantly trying to cheat or trade up for someone he thinks is better. This is not healthy, and you deserve better than him. Break up with him. He has a cheating heart and that's not going to get fixed. So end it, and cut all ties as soon as possible.
You deserve better. You can do better. You can get better. End it, cut ties, and move on.