Why do Muslims celebrate their festivals on different days?
Because the Islamic festivals are tied to the sighting of the crescent moon. It is not seen everywhere on the same evening, and because of the time zones a single worldwide festival day is not even possible.
The Islamic calendar follows the moon. A new month begins when, after the new moon, the first thin crescent can be seen in the evening sky. This is how the fasting month of Ramadan begins and ends, and its end brings the festival.
But the crescent does not become visible everywhere at the same time. In one country it is seen on one evening, in another only on the next, because the horizon, the weather and the location differ. So it can happen that Muslims in Ghana celebrate a day earlier than Muslims in England. This is neither a mistake nor a dispute. It simply follows from the way the moon measures time.
Whoever sees the crescent on the evening before the festival may not continue fasting. He ends the fast and celebrates. Where the moon has not been sighted, people continue to fast, and if the sky is overcast they complete the month with thirty days, as the hadith above says. Both are acting correctly, each in their own place.
Some wish that all Muslims worldwide would celebrate on the same day, for example according to the day in Mecca. This is geographically impossible. When the day begins in Mecca, it is still night in other parts of the world, or even still the previous day. In fact Muslims often celebrate on different days among themselves. Each follows their own calendar. The Festival of Sacrifice remains connected with the pilgrimage, even when each country celebrates it according to its own calendar.
In this way the variety of days joins the order of creation with the worship of God. What matters is not that everyone celebrates at the same hour, but that each person obeys God where they live.