Yeah, its crazy to be honest.
For that sum of money, it should involve a transfer for a potentially great player, not one who will likely be only good. Also, giving Real Madrid a call-option is crazy. Not only due Juve spend 20MM on a player who may not even be ready for first team minutes, and is quite risky, but in the instance that he does pan out, Real can take choose to take him from right under our noses.
If you're going to pay out 20 million, the player should at least have world class potential. Otherwise, why wouldn't we just buy a guy like Mandzukic or Negredo who is a sure thing. We're trying to win the UCL, we don't need projects. I'd be ok with spending the cash on a guy with Draxler, Reus, Isco, Lucas, Griezmann, De Bruyne, Lukaku, or Shaqiri. But for a chance at a 'good' player, I don't see why we just don't buy a good player. You would likely pay more on wages, but save on the transfer fee, and you wouldn't be dealing with the amount of bust potential. And in that scenerio, in the likely situation that the player's market value increases, you can elect to sell.
Then on top of it, we allow a buyback clause? It makes no sense.
EDIT: And as the poster above me suggests, the risk/return profile both the two parties aren't symmetrical. Juve takes much more financial risk.