2nd paragraph of the wiki link I posted:
"The exact date of Vesākha varies according to the various lunar calendars used in different traditions. In Theravada countries following the Buddhist calendar, it falls on the full moon Uposatha day (typically the 5th or 6th lunar month). Vesākha Day in China is on the eighth of the fourth month in the Chinese lunar calendar. The date varies from year to year in the Western Gregorian calendar, but falls in April or May."
It's to do with the irregular mapping of lunar months to Gregorian solar months, that's all.