It is fixed on these dates now. If these days fall on weekend the missed days off will be taken after the weekend - however originally its date was fixed by astrological calculation. Songkran falls in the hottest time of the year in Thailand, at the end of the dry season. Until 1888 the Thai New Year was the beginning of the year in Thailand, after using April 1 until 1940 now January 1 is the beginning of the year. The traditional Thai New Year is only a national holiday since then.
Originally this tradition started from the bathing ceremony, in which the Buddha images in the temples get cleaned. The young people poured small amount of scented water on the hands of their elders as a sign of respect, however nowadays this ritual changed from its traditional origins to just having fun.
wikipedia.org dumped 2003-03-17 with terodump