OP you sound like a genuinely nice, decent person. And guess what, there's somone out there right now, who actually deserves you. Who would appreciate your kind nature, who would treat you with the love and respect you deserve.
So you have two options-
A. Stick with this guy, continue being fairly unhappy with him. But tbh, even if you removed this girl from the equation he still doesn't sound good. He's practically said he'd probably leave if someone "better" came along, he doesn't like spending hours with you in a bar, he's stuck inside all weekend nursing his hangover and not giving a **** about you. So even without considering the fact that he's lied about this girl and seems to have a "connection" with her, I'd say you deserve better anyway.
B. Leave him, be strong. Yes you'd face a few months of misery, you'd feel lonely, maybe heartbroken, and you'd be pining for him. But at least you could hold your head up high, rather than wait around to witness your boyfriend cheating on you (possibly). You'd also meet someone knew, someone who can make you a thousand times more content and happy than this guy. And when you meet this person, you'd be so happy that this girl came into yours and your current boyfriends life, because if it wasn't for her you might not have left this guy, and you might not have met a new person who actually deserves you.
So good luck OP! You sound like a strong person, so I have every faith in you that you'd come out the other side of this much better off than your current boyfriend.