Hotels (whether its Green Bay for a Packers game or Plymouth for Road America or Sheboygan for a golf major) require multiple day minimum stays because then they make guests pay super high rates for longer periods of time. The hotels got'cha, they know it, I know it, you know it, and fans either pay it or aren't going.
It's like buying a single beer at the PGA Championship. $18 for one Michelob Ultra. What are the patrons going to do? You can't BYOB. You don't have options but one vendor: the PGA. The PGA's got'cha, they know it, I know it, you know it, and a patron must pay $18 or you're not getting a single beer. Justin Thomas who is a multi-millionaire professional golfer was left scratching his head how charging $18 for a single beer is treating the fans well? Is the PGA not going to make a profit off a $12 can of beer?
Well...JT knows the PGA is screwing fans over, I know it, you know it, and what's going to change? Nothing.
It's greed. It's the human condition. And you don't have to give some long justification for what is a very simple answer.