In a nutshell, an agile coach helps teams grow strong in applying Agile practice to their work. It takes time to adopt these changes so you can't do this effectively as a "seagull consultant" or trainer who swoops in to deliver words of wisdom and then makes a sharp exit. You need to spend time with a team to help them to become more aware of their workflow and how to collaborate effectively.
Being a coach is also different because it's a transitory role not tied into project duration. Your goal is for the team to become self-coaching and adept in applying agile then you move on. That doesn't limit agile coaches to introducing agile into organizations and establishing new agile teams. The majority of the teams that I coach are already applying agile techniques and seek coaching because they want to boost their performance and proficiency in agile software development.
Anyone can ‘consult’. It takes more out of you to coach, and coach well. For me, I coach because I believe it’s a calling. I coach because I seriously love helping people reach their potential. I love seeing organizations flourish, not because they deliver more product faster (with quality)… but because I see the culture change to a more positive and productive environment.