Help, it’s complicated

My boyfriend and I met last year in January. He was really nice and really sweet so we started dating the first few days of February right the same day that we took things to another level. We have quite a big age gap but that didn’t matter because I believe that love has no age. Things were actually amazing. He truly loved me and I loved him which was all that mattered. We broke up in June because he lied to me about being out with another girl. And although he really did not do anything with her it still hurt me that he didn’t trust me enough to tell me that, because if it was just a friend why would I’ve cared? Ever since then we’ve been on and off, insulting each other, hooking up and getting back together without making it official. But at the end he’s always done something that made me want to end it with him cause I was tired of getting my heart broken and not learning from my mistakes. A few days ago I went to visit my dad who lives in Florida and I told my cousin to keep an eye on him, specially this Friday night because we had a party. I know that it’s not right for me to spy on someone but I had to do something to make sure that, by the end of the day, I knew the truth. We are dating now (I think?) and it turns out that last night he was hooking up one of the girls that I hate the most. I called him to confront him about it and he started screaming at me about how it was none of my business and that we never made anything official so he was allowed to do whatever he wanted to do. A few hours later he called me through my best friend’s phone knowing that I wouldn’t pick up his and apologized on how he was being a dick and that he had no excuse to do it but he had a little bit too much to drink. I told him that I needed time to think. I honestly don’t know what to do. I’m so tired of his lies and his excuses but at the same time nobody has ever made me feel the way he does. He can be the sweetest guy on earth most of the times and I feel so good when I’m with him. He’s always been there for me and has given up so many thing for me just like me for him. I don’t know what to do and I need advice.