What you can do, is have some self-respect and understand that you deserve better than this. You caught this guy red-handed, and you can't possibly realistically think he'll ever change. Very few cheaters ever really change.
The ones who do change, change for one very good reason, because they aren't enabled and they realize there are negative consequences for their actions.
If you take him back, what you are doing, is telling him, its alright if you cheat on me, because I deserve it, and you can get away with it. Not only can you get away with it, but there are absolutely zero repercussions for your negative behavior. You're actually telling him, yes this is negative behavior, but here is the reward of getting to keep me.
By staying, you're rewarding his negative behavior. Oh sure, he hears you crying and he knows darn well its negative behavior, but he's being rewarded for it. This is called enabling. Enabling is when they know its wrong, but they're rewarded for it. Its kinda like when a wife turns the other cheek, when she finds-out her husband is an alcoholic and pretends like he isn't. He knows darn well he is, but no one seems to care, so he keeps doing it. Well, this guy will keep cheating on you, because you are putting-up with it.
Not only that, but it will get worse, far worse, because now he knows that your self-esteem, self-respect and body-image are so low, that he can get away with just about anything. All the rules are completely gone now. This sort of thing only tends to escalate, rather than improve. He can get away with so much more now.
If you don't believe me, then think about kids. Kids test their parents boundaries all the time. Chances are you did too as a kid. Heck, we all did. Most parents snap at us and say, you're not in charge, you're not the alpha-dog, now get back in place and stop testing my boundaries, because I'm not putting-up with that. Then the kid reluctantly shows that parent some respect, and views them as an authority. But parents who spoil their kids loose all respect and those kids turn-out to be little monsters. We've all seen these bratty little kids, and none of us can stand them. Well, this bratty little kid grew-up and he still thinks he can get away with it. Don't let him.
Saying you're in the dog-house doesn't get through to these people. What registers in their brain, is being dumped. And not just being dumped by one person, but being dumped by every single person who they cheat-on. If even one of his girlfriends puts-up with it, and takes him back, she'll undo all the work the other women did. He'll figure the other women over-reacted and he wont learn from his mistake.
If you want any chance at him ever improving, then you have to dump him for this. Also, how stupid is he, that he can't tell his ex-girlfriend's voice from your bestfriend's voice. I'm not sure you should be with a guy who's that foolish. You can do so much better, and you deserve so much better. You're a clever girl, and you deserve someone really great.
I know you still like him, but his actions are screaming, "I HATE YOU AND HAVE ZERO RESPECT FOR YOU!!!" 80% of all communication is non-verbal and his non-verbals are screaming at you. Oh sure, his words are saying he loves you too, but his actions are speaking way louder than his words. The fact his words are saying this, but his actions are clearly saying something else, also indicates he's lying, on top of cheating. At least if he was honest about his cheating, you could have at least something, but no, this guy wont even tell the truth, which you clearly deserve.
You deserve better, and he doesn't deserve you.
Best of luck in life and love. :-)