I'm not positive you should choose either of these men. Let's take a look at the relationships:
The father of your son: It's true that you will be tied to this man forever because you have a son together. But does he have the qualities you want in a partner? I understand that in an ideal world your son would have both parents living with him to provide nurturing and support. But realize also that the best thing you can do for yourself and your son is to make sure that the relationship you are in is a healthy one.
Your boyfriend: It took you four months of dating to decide to be exclusive with this man, but even after making this decision, you haven't been faithful to him! This does not speak well about the bond between the two of you. I do believe that being in a long-distance relationship is extremely challenging. I don't think either of you are ready to start talking about the future until you've been together a while in the same city, and have been faithful the whole time.
Try and figure out why you are cheating
This is what I'd like you to think about: you seem to have a history of cheating. Why does this happen? I think this is the question you should answer before you can even begin to consider the "who should I be with?" question.