Because of the team schedule. There's a huge chance that the White Sox are not competitive in 2019 - IMO if they have that many players take huge steps forward they need to make Renteria and Cooper and Steverson coaches for life because that would be incredible performance even with Harper.
2020 looks Iffy at best. You can convince yourself that everything could go right, but we still have a young team, we would have very young catchers, we would have Kopech coming off an injury and needing to get innings more than anything else, we would have Cease as a rookie and who knows what you get from rookie pitchers even when they're talented, we would have to replace Abreu and that's going to eat into Free Agent dollars we have to spend...and that's before any other injuries happen. If you want to believe that Kopech is going to come back and have the same control he finished this year with, and that no one else is going to get hurt...you can see a path to competing that year, but that's so much of an "Everything goes right" case that it's hard to fathom right now.
2021 - that's the year this season's Winston Salem OF hits the big leagues. That's the year Robert should take over CF. We're going to have more players hitting the big leagues than we know what to do with. We might have no choice but to trade 2 of them, and maybe we target someone like Blake Snell or Trea Turner or someone ridiculous like that because we'll have so many resources. We should be disappointed if we're not competitive that year, that would require everything going wrong again.
If you sign Harper to a 3 year opt out he's here for 2021, but the more you front-load the deal the more likely he is to opt out. If he opts out after 2021, you have to be ready for Harper to be here during 1 competitive season. Imagine the scenario where the White Sox win 75 games this year, 81 games in 2020, and then 92 games and a wild card birth in 2021, only to lose in the Wild Card - and THEN HARPER LEAVES. Now you've done everything right to get to a Wild Card birth, you get 1 game in the playoffs, and then your best or second best player leaves as a free agent. Congrats, you paid $120 million, you got 1 playoff game, your fan base is disappointed because you lost, and then they're demoralized because Harper signed a 10 year deal with the World Champion Yankees. Aside from the nightmare of the injuries continuing...that's just about the worst case scenario I can imagine.