Likewise, why didn't one supplant the other eventually? Was it just another case of Cold War stubbornness?
Cosmos is the Russian word for space/universe (from the Greek term for universe). So in Russian the word cosmonaut has a similar meaning as astronaut. It was (and I assume remains) as popular in Russia as the term astronaut is in English-speaking countries, since they had their own successful space program for a long time. I don't see any reason that Russia would ever change a popular term.
Why English-speaking people use it to refer to Russian astronauts? I assume because it is a professional (military?) title for people trained by the Russian space agency. It might also have been a point of pride due to the cold war but I think now it has passed into historical tradition: Chinese astronauts also are called taikonauts, and I guess India's space program will have a title as well.