I cheated on my bf (on accident). He won’t let me leave..

So my bf and I have been in a slump for quite awhile now. He lied to me about something really important and I tried to get past it, but I just couldn’t. A few weeks ago I tried to break up with him, he talked and talked and eventually convinced me to stay. Another week-ish later I decided again that I wasn’t happy and needed to leave. I tried to do it again, same thing. He just kept talking and making excuses and wouldn’t give up until I stayed. Then last weekend, I was hanging out with a group of friends at the bar. We all drank way too much. I barely even remember it but I ended up making out with one of my friends, who was also very drunk. I don’t know why it happened, I never had feelings for this guy before. I immediately told my boyfriend about it. I apologized and told him I would leave. He still wants me to stay. I left for one night and he was texting me nonstop about how empty and upset he was, and he just desperately wanted me to come home. I came back because he was starting to hint at harming himself. I love him but I don’t want to be in this relationship anymore. Also, I cheated on him. I seriously didn’t mean to, I was irresponsible and drank way, way more than I should have. I take all the blame for it and everything, but he seems to think we can just pretend it didn’t happen and everything will be fine. I hate to say it, but even though I still care about him very much, he doesn’t make me happy anymore. I don’t know what to do, but I need to leave. But I’m also really worried about him harming himself. Advice?