Why does my bf keep cheating?

We’ve been together for some months and it’s like i truly believed he loved me until today despite everything he’s done. He is always dirty texting/flirting with his ex and other girls. He’s always looking at nude girls on instagram. Today he slid up on a girls story with heart eyes but deleted it so all i saw was her reply “thanks 😘”. He claimed to not know what she was talking about and denied it until she sent a ss of the conversation. He was yelling at me , calling me crazy and a bitch for never trusting him. Now he feels bad ... should i stay ?