What do you do ?

What do you do when you are only fighting your battles for one person and that one person has given up?

Back story.

Back in January I met a guy and at the time I was sleeping with someone else kinda like fwb, I told the guy that I wasn’t sleeping with said guy. Well the first 3 months I didn’t stop sleeping with the guy. I should have stopped but I didn’t. So obviously I know I’m a whore and deserve everything I’m going thru. So the truth finally came out and we had talked about it and we were working things out I thought. So March was the last time I had slept with the fwb guy. It’s now August and my boyfriend had mentioned we needed time apart so we can work thru this so I went to my moms. He has called me every name in the book. I’m a lier, cheater, whore and I’m not worth anything. I know what I did was wrong but I can’t change the past. When we aren’t arguing he is the best boyfriend in the world and would do anything for me. I am really confused because we can have a good day or 2 and then I’m back to being a whore so he says. I don’t know what to do. I know I hurt him I do but I can’t change it. Why were we fine until a few months ago? Why wait for months before it gets bad between us. Guys I would do anything for my boyfriend. I think the world of him. I can’t do anything or see anything without breaking down and crying. I’m so fucking depressed. I’m tired and want to give up on life itself. I love this man with everything in me. He completes me but he hates me right now. So the one person I was fighting my demons for hates me. He says he loves me but why keep me away from him? Why wait so long to start punishing me for what I did. Guys please help.