Persia is not actually our historical name. The last two Shahs of Iran were cultural nationalists who wanted to restore our ancient heritage. The word Persia comes from "Persis" or "Parsa," a Greek word meaning "land of the Persians." Persis was also the name of an ancient province.
Iran is our historical name, derived from the word "Eran" in ancient Parsik, also known as Middle Persian. The earliest use of the word "Iran" is found at Naqsh-e Rostam, an archaeological site in Persepolis, the ancient capital of the Achaemenid Empire. Four great kings of the Achaemenid Empire are also buried there. Here we find some of the earliest uses of the words "Iran," "Aryan," and "Iranian."
Now, there are words that were used specifically before "Iran". For example, "Aryanam", whose use is recorded in the "Avesta", a collection of ancient Zoroastrian religious texts in the Avestan language.
The word Persia, however, gradually gained acceptance and was widely used by the international community well into the last century. In 1935, Reza Shah officially changed the name back to "Iran" and asked the world to use "Iran" from then on. Surprisingly, this sparked a fierce controversy, and the law was repealed. But most modern states have called us Iran ever since.