I know I have asked a question like this before, but playing in-game, having them learn moves (Psychic, Fire Blast etc) at quite late levels is rather ridiculous!
I know Espeon has Psybeam, but it's power isn't that good to be honest
To tell the truth theres no other reason then what game freak wanted. I mean he left you the TMs for those strongs moves so you can always just teach to them that way. He might have made it that way so that the in-game wouldnt be too easy. I mean if espeon learned Psychic at like level 31 you could pretty much beat anything if all your Pokemon in your team had powerful moves at such low levels. Another thing he might be doing is trying to make it make since. Maybe hes trying to say that your Pokemon cant handle those powerful moves until they themselves are powerful. In short, its hows the game is designed.