In normal usage, there is no difference.
However, they are nonetheless slightly different.
A coach is slightly more focused on the mental approach of the person. (A sports coach will focus a little more on strategy and tactics.)
A trainer is slightly more focused on the skill of the person. (A sports trainer will focus a little more on strength and agility.)
An elite sportsperson would have one coach, but may have more than one trainer, each focusing on a particular skill.