I found a good episode recently that shows the anime contradicts itself on this matter. In the Black and White episode Archeops in the Modern World, Professor Juniper and Dr. Fennel revive an Archen from a fossil. Professor Juniper specifically mentions one benefit of a live specimen is that they wouldn't know what Archen's cry was just from the fossil. But Archen is mentioned as being a Pokémon from millions of years ago. This is contradictory because Archen's cry is its name but they somehow knew what its name was before reviving it. Additionally, there is no way that humans could have taught it to say its name because humans weren't around millions of years ago. Because of this contradiction, it cannot be said one way or another whether Archen says the name of its species or whether it is named by the word it says. Therefore, I conclude that there is no canonical answer to this question in the anime.
It really doesn't make much sense at all for Pokémon to say their names like they do in the main anime. That's why they don't do this in Pokémon Origins, Pokémon Generations, or in the games. In all three of these, each Pokémon's cries/growls are more similar to real animal noises. In the main games, the cries in the Pokédex are animal shrieks and noises (well, sort of... as noted in the comments, they do sound electronic and staticky). Sometimes if you talk to Pokémon on the overworld in a game they'll say part of their name, but an audio clip of that Pokémon's cry will also play, so I interpret the Pokémon's dialogue to be an onomatopoeia.