There's not much. In fact, I see that ahdictionary.com defines "trainer" as "One who trains, especially one who coaches athletes, racehorses, or show animals," and "coach" as "A person who trains or directs athletes or athletic teams." So, a trainer is a person who coaches, and a coach is a person who trains!
By custom in the United States, the person who advises an athletic team is called a "coach." A person who works with an individual athlete one-on-one is often called a "trainer."
Also, "coaching" can mean advice or directions issued to an athlete, while they are actually competing, while "training" means work done in preparing to play the game.
Narrowly-focussed career education is called "training," never "coaching." Thus, I could say "I've had training in software engineering." One distinguishes "education," which is broad, from "training," which is narrow. "I was educated at the university. I was trained in SCUBA diving at Winnemac Dive School."