I understand the speaker is grateful because the other character accompanied him from the beginning of the new year to do exercise, but what does もらえる communicate differently from using もらう here?
Actually in this context, the dictionary form もらう is nearly unusable. The vanilla もらう has a connotation that the said action is granted, or expected. It is okay if you use it in the past form, or in front of a third party, but sounds as if you are "forcing" the hearer when spoken towards themselves.
Thus if you want to tell the other you are "grateful", not only the fact being "beneficial" to you, you need to say like you're glad that you can (= be lucky to; be accepted to) have them to do something, and that is what the potential form does here.
As the above example shows, VERBてもらう can be used about an event that is predetermined, often by you.
This means you killed him.
〜てもらえる in this case makes it clear that it is at the discretion of the person who keeps you company (or possibly someone else's), and not at yours, to do so.