How do I F/20 forgive my boyfriend M/20?

My boyfriend M/20 and me F/20 have been dating for 2 years but we’ve known each other for like 4 years. Before we started dating he not a player but he got around with girls and would brag about it to everyone but also at the same time say he hated it. Idk. He started to pursue me after we’d been friends with the same people for about a year. He pursued me heavily even though I never considered it myself then I decided to give him a chance. Fast forward only months into the relationship he lied about unfollowing a girl for no reason he just brought it up. I should’ve ended it there but I haven’t now I am 2 years in and this is still happening and it hurts me deeply bc he is so perfect in every other way and this is always so blindsiding. He is so good at convincing me he is going to make a change within himself but this time I tried to breakup with him but just couldn’t. I can’t explain it but just trust me I want to make this work but I cannot seem to forgive him. He is always so willing to admit his wrong and explain to me why he did it and the reason is usually that it was an impulsive decision in the moment. He’s never texted anyone like a single man or anything or cheated on me but it still pisses me off. If I’m not going to muster up the courage to break up with him how do I forgive him and move on? I know this very desperate and embarrassing.