I think it's normal to think about an ex to a certain extent, however if you're thinking about the ex more than the guy you're currently with then there's a problem.
So, make things simple. If you don't like Chris more than Garret then don't be with Chris. Even after you're not with Chris and you feel like you can't really be with Garret, then don't be with Garret either. You can't force yourself to love either of these guys completely, if you can't decide then I wouldn't go with either of them. Nothing is wrong with waiting for the guy you KNOW is yours and you KNOW you want to be with no matter what.
If you're close with Garret still, then you should tell him you're worried about him. Talk to him and see why he's been drinking. I'm in a similar situation with the ex drinking. It's heatbreaking and the only thing that's ever seemed to have any effect is when I flat out told him I was worried about him and that I don't like how he's been drinking.