NBA doesn't mandate guaranteed contracts. KG started the trend what, almost two decades ago, and now basically every contract is fully guaranteed but only because that's what players want and what teams have to offer.
NFL seems to be moving in that direction for bigger stars (Antonio Brown, Kirk Cousins, etc.) but it's going to be slow to catch on and at the end of the day the NFL is a meat grinder. Guaranteed contracts mean more security but also less money available to productive players. Especially for guys signing for the 30th-53rd roster spots it's a tall order because teams are hosting tryouts for those spots every Tuesday.