Das hat verschiedene Gründe. Wenn z.B. eine Stadt früher einem anderen Land angehörte, dann hatte diese Stadt oftmals einen anderen Namen. Hier ist als Beispiel Kaliningrad zu nennen, das unter deutscher/preußischer Flagge Königsberg hieß. Dennoch ist der alte Name durchaus geläufig.
Es gibt aber auch Städte die eine Kurzform des Namens haben (z. B. Bangkok, das eigentlich Krung Thep Mahanakhon heißt). Solche Änderungen oder andere Variationen (z. B. die Umlaute ä, ö und ü im Deutschen) zu umgehen werden diese Städte im Ausland oftmals anders genannt. Aber wenn du nun statt "Munich" "München" sagst, weiß dennoch jeder, welche Stadt gemeint ist, da München weltweit bekannt ist.
Es kann auch sein, dass Städte nen anderen Namen haben, weil z.B. eine andere Schrift verwendet wird. So versucht man diese in unsere Schrift zu "übersetzen". Durch diverse Abweichungen in der Aussprache od Übertragungsfehlern kann es dennoch sein, dass so andere Städtenamen zustandekommen.