>>>Canaries May average is 20c
That's a bit misleading. The 'average' temperature, across a typical 24-hour period, is indeed around 20C but that's not what the weatherman refers to when telling us about what the weather will be like. He/she always uses the expected maximum daytime temperature (probably because not many people want to go on the beach at 3am!), which is typically 23C in Tenerife in May, or 25C in Lanzarote:
http://www.holiday-weather.com/tenerife/averages/may
http://www.holiday-weather.com/lanzarote/averages/may
It's only slightly warmer in Larnaca, Cyprus, with a typical maximum daytime temperature of 26C:
http://www.holiday-weather.com/larnaca/averages/may
Flights to the Canaries are plentiful all year round but there's far less choice (and generally considerably higher prices) for flights to Cyprus, especially outside of the peak summer season.
For a 'budget' holiday at that time of the year (with plenty of warm sun), the Canaries and Cyprus are the only two real options, unless you're prepared to risk Egypt, which will have loads of bargains next year:
http://www.holiday-weather.com/sharm_el_sheikh/averages/may
The only other alternative (where you might get some reasonably priced deals) is The Gambia:
http://www.holiday-weather.com/banjul/averages/may