I think the main reason is so that teams can invite free agents and undrafted players to their minicamps. If they were all the same weekend, teams couldn't get a look at more than one set of players. This way players have a chance to participate in more than one minicamp and have a better chance of signing with a team and vice versa, a team getting a better chace of a player they want that fits into there team strategies.