All perfect praise be to Allaah, The Lord of the Worlds. I testify that there is none worthy of worship except Allaah, and that Muhammad is His slave and Messenger.
As far as we know, there is no sound Hadeeth to denote that Muslims used to celebrate Mahrajan and Nayrooz or that the Prophet told his Companions that Allaah replaced these two ancient holidays with 'Eed Al-Fitr and 'Eed Al-Adh-Haa. Yet, the sound Hadeeth in this respect is what was reported by Anas Ibn Maalik that "When the Prophet reached Madeenah, he noticed that the people of Madeenah used to celebrate two specific days. The Prophet asked them: "Why are you celebrating these two days?" They answered: "We used to play and have fun on these days during the pre-Islamic period." Thereupon, the Prophet said: "Allaah has replaced these two days for you with something better, 'Eed Al-Fitr and 'Eed Al-Adh-Haa." [Ahmad, An-Nasaa'i and Abu Daawood]
As you can see, the Hadeeth did not name these two celebrated days as Mahrajaan and Nayrooz as you stated in your question. Therefore, it is not acceptable to say: "The Hadeeth is weak because the Arabs did not use to celebrate Mahrajaan and Nayrooz." Even if the two days were named in the Hadeeth, as you stated in your question, we cannot describe the Hadeeth to be weak based on this unfounded justification. In fact, this is a weak argument because it is historically known that most of the Arabs who lived in the age of the Roman and Persian empires were greatly affected by their civilizations and many adopted their religion.
Allaah Knows best.