Just a note: neither Burma or Peking actually changed their name. All that changed was the standard system of transliteration. There was no change in the local pronunciation when Peking became Beijing, or when Burma became Myanmar. The transliteration systems were changed largely because the newer systems worked better.
In the case of Florence, both the english name and italian name evolved out of Old Latin for the city: florentia. The evolution of the name in both languages was gradual over time, so there was no particular event which would spur the english language to align itself to the Italian name. The difference was never a matter of transliteration, but an actual difference in name.
The more general question as to why english tries to respect local pronounciation in some places and doesn't in other places is largely a matter of history and relative importance. If the name has a long and important history in the language, English will tend to keep that name despite local evolution. Otherwise, English tends to default to local pronounciation/transliteration.
For example, the name 'Korea' is derived from an old Korean kingdom 'Georyo', a kingdom that ceased to exist a thousand years ago, and never actually controlled the bulk of modern-day Korea. Yet the English name stuck because it's a name of relevant importance in english and has been in consistent, evolving usage since being coined (Koreans use Hanguk or Joseon as the korean word for the peninsula, depending on whether you are from the north or south). Seoul, as a major metropolis, was not historically important in english discourse, so we default to the local pronounciation. If the city of seoul was more historically important in the English language, its quite possible we would be using a derivative of 'Hanyang' (or even older names) instead of Seoul. Indeed, the chinese language (in which the city of seoul obviously plays a bigger historical role) uses the word "Hancheng", instead of using the modern local pronunciation.
Edit: as pointed out by u/laforet below, Chinese switched to a more modern korean pronounciation in 2005, but Hancheng (漢城) is still sometimes used in historical contexts. It seems that the old pronounciation was causing many translation problems because Korean institutions make a distiction between Seoul and Hanyang (ie Seoul University, Hanyang University) which couldn't be translated without a similar distiction. Apologies for the oversight.
Very related question (so much so that it might seem like the same one): Why do we seem to make the effort to transliterate certain names (Beijing) yet completely disregard others (Deutscheland (Germany), Misr (Egypt) that aren't any harder to sloppily pronounce? Obviously foreigners will never pronounce the names of other countries "perfectly", but to not even make the effort has a strong taste of imperialism. What's the history of this phenomenon?
EDIT: Never mind, thankful someone has already gotten to this. Additional insight appreciated but not required.