The entire contents of the guidebook is somewhat impossible to cover in just 3 weeks, so 4 weeks is the minimum to try to do so.
The guiding factor should be the flights.
The main international airports are:
Milan-Malpensa in the north (2nd largest intercontinental with flights to North America)
Venice in the north (intercontinental with flights to North America, but some are seasonal in summer only)
Bologna and Florence in the Central/Northern (both have only intra-Europe flights)
Rome in the center (largest intercontinental in Italy)
Naples in the south (mostly intra-Europe but there are very limited intercontinental flights to North America but they are seasonal therefore likely not necessarily available in Apr/May)
Since flights to North America depart in the morning, it is necessary to be close to the airport the night before the flight.
Venice and Milan Malpensa airports are rather far from the city center (1 hour), therefore I generally prefer not to depart from Venice or Milan, because it requires a very early wake up, unless you stay at an airport hotel on the last night. The airports of Naples, and Florence are within 20 min from the city center. The Rome airport is about 30-35 min from the city center.
In terms of weather, heat will not be an issue anywhere in April, for May it depends as it varies from year to year, but generally not much of a big issue as temperatures should be no more than mid/high 70s..
However the average temperature differences are not significant in the major cities you will visit. The average high/low temperatures for Mid-May in Venice, Florence, Rome, Naples are:
VCE: 71/57
FLR: 75/54
ROM: 74/54
NAP: 74/58
In mid April deduct 8-9 degrees from the above.
If you go to the Dolomites, temperatures will vary greatly depending on altitude. Snow is still a possibility in April and even May, at higher altitudes.