make up or break up?? 😔

Corrinne
So sorry this might be a long post there's just a lot on my mind and I need an unbiased opinion. So my bf and I have been together for almost 2 years. I love him and I care for him deeply but I just don't know if I'm in love with him anymore, you know? 
My bf is an addict in recovery. He's been clean for quite a few months now but we really had a lot of trouble when he was still getting high. He was jealous as hell, and he was so incredibly insecure it's not even funny. He was constantly comparing himself to my exes and he would say things like how either he's tiny down there or I'm loose because there's no way I could feel him inside me during sex...I told him over and over again that that wasn't the case at all (he's average if not a little bigger but that doesn't even matter to me)...he would get mad a lot and he was scary when he was angry because he would punch holes in the walls and doors but he would never get aggressive with me. He was in and out of jail and rehab for the first year and a half of our relationship and that was very hard on me. I never cheated or anything like that I was going to school most of that time anyway and I was working at a busy restaurant at the time so even if I wanted to cheat I didn't have time. I'm the type of person that I just give everything I have just to make someone I care about happy...and I did just that for him, I gave him a lot of money and massages and sex that I didn't exactly want but I didn't want to disappoint him either. Anyway now that he's clean he's been working a lot and spending less time with me which is fine I have a job too and I understand we are adults (I'm 21 almost 22 and he's 26). The problem is after he gets out of work at like 11:30 he goes out and plays poker or ping pong with his friends. This wouldn't be a problem if he didn't stay out until at least 2am and if he didn't do it at least 5 days a week. I don't have very many friends outside of work so it's pretty rare that I go out, but when I actually do like once a month or so he gets all pissed like I never spend time with him. The other issue is last month he had a one night stand with some other girl. She's the one that told me about it actually. When I confronted him about it he apologized profusely and since I feel like I have to walk on eggshells around him all the time I just brushed it off and acted like I wasn't hurt but I was and still am extremely hurt. 
Even more recently he's been acting kind of distant and not using the same kind of tone when he texts me. Again, I try to act like I'm not bothered by it because I'm so afraid he'll get angry and relapse. 
What I'm asking here is should I stay and try to work things out with him or do I leave? We've talked about moving in together and getting married someday and it just breaks my heart to think that that isn't going to happen anymore...To an outsider it might seem like an easy decision I guess but for me it's so hard because I love him and I wish I could make things better like the fairy godmother but I just don't know if it's possible. Any advice at all would be greatly appreciated, thanks for listening ladies 💙
PS: I included my favorite picture of us just so everyone sees we're a pretty cute couple sometimes.