PLEASE READ!!! I NEED HELP!!!

So basically my boyfriend and i have been dating for almost 3 years, it’ll be 3 years next month. It hasn’t always been easy, it’s actually been a lot harder than a relationship should be. I am 18 and he is 19 Hes good guy, he owns his own landscaping business, he loves his family with everything he has in him, he is always helping out and he always makes everyone smile. But the thing is, about a year and a half ago he snuck out and ate out this girl who we’ll call Jane, he immediately told me the next day and he broke down crying and said he was so sorry and well if you’ve ever been cheated on you know how that goes. So i forgave him because we were young and in high school. But that still really hurt me. Fast forward to 3 months ago, we had been going through a rough patch and decided to take a BREAK. NOT BREAK UP BUT A BREAK. and i really needed to talk to him about things because i suffer from anxiety and depression like everyone else in the world and i was having a mental break down and so i really needed him and i told him if he didn’t meet me at 7 at this place then i would swallow my whole bottle of 100mg of Zoloft. well if i didn’t wait until 7:10 hoping he was coming but just running late. He didn’t show up. So i felt like whatever i’m own my own, i don’t have anyone and i swallowed the pills. Anyways he ended up finding me and rushed me to the hospital and all that happened. Well little did i know at the time of the event, the reason why he didn’t show up was because he was cheating on me with another girl we’ll call Sam. This obviously hurt me even more because i thought he would never do that again but i was wrong. Anyways, after i got my head on straight we talked in person for hours and decided to get back together. We had been going so strong and good after all that happened and then a month ago he broke up with me. One of the nights before he broke up with me he got high and wasn’t drunk but him and his friend had gotten a hotel room for the night and then a girl who i was FRIENDS WITH brought her friend and they all hooked up and he cheated on me yet again. But then one of the days after he broke up with me. His reasoning was because he thought i deserved better and hes not the man i deserve and he doesn’t want to hurt me anymore. I told him no matter what i want to be with him and i just wanted him to stay but he left with my best intentions at heart. Well this broke my heart. I was crushed and smoking and drinking my life away. Going out w friends and drinking and doing stuff with strangers that i normally never do. Anyways so he called me up when i was at a friends house and he really needed to talk to me. He broke down in my arms and told me everything he had done so far. He slept with 4 other girls and one of them twice. I have only ever been with him and we lost our virginity to eachother so sex in my eyes has always been a very intimate thing you do when you love someone. And so then i was just snapchatting this guy i used to mess with and he wanted to hook up and i was kind of just talking to him to fill the void. Then my boyfriend came over one night and saw i was talking to him and get pissed off and was saying all this stuff. Anyways we are back together for real this time and we’re both ready to be together for the rest of our lives, we have plans on moving in together next month and everything. But i can’t stop thinking about all the girls he’s been with and it upsets me. He also is following them all on social media and doesn’t want to take them off when i bring it up. He took them all off snapchat but he still wants to follow them on instagram. so i need help with what to do. should i stay because i know he’ll be the man of my dreams one day or should i leave because he may not ever change?