Ask why Diwali and Holi wander across the Gregorian calendar and Makar Sankranti does not, and the answer is that they are on different clocks.
Most major Hindu festivals are set by luni-solar reckoning: a lunar day within a lunar month, with an extra month inserted periodically so the months do not drift away from the seasons. The insertion keeps the festival roughly in its season but lets it swing across four or five weeks of the Gregorian year.
Makar Sankranti is set by the sun alone. It is the moment the sun crosses into the sign of Makara. Solar events do not wander, and so it lands on January 14 or 15 essentially every year.
The slow drift
But it does move, just very slowly, and the reason is the most interesting thing about it. Indian astronomy measures the sun's position against the fixed stars, the sidereal zodiac, rather than against the equinox. The equinox itself moves, precessing westward against the stars at about fifty arcseconds a year. Over a human lifetime that is unnoticeable. Over centuries it accumulates: the gap between the two systems, the ayanamsa, now stands at roughly twenty-four degrees.
So the sidereal entry into Capricorn slides forward through the tropical year by about one day every seventy to eighty years. Five hundred years ago the festival fell in the first week of January. Five hundred years from now it will fall around January 21.
What that does to the meaning
The day is described as the beginning of uttarayana, the sun's northward turn, which is the winter solstice, around December 21. The two coincided long ago. They no longer do; the drift has opened a gap of over three weeks, and it is widening. The festival is now kept on a date that no longer is the event it is said to mark.
Whether to correct this is a real and unresolved dispute. India's calendar reform committee under Meghnad Saha in the 1950s recommended a tropical basis, which would have pulled the date back toward the solstice. Traditional almanac makers did not adopt it, and the sidereal reckoning remains in use. The gap continues to grow.