I'm an embedded systems C programmer with passing familiarity with Python. To me it seems ridiculous that a language relies on whitespace for blocking. Is that true?
It only requires consistent indentation inside blocks, which is what any good code does anyway for readability. So the main difference then is just that you no longer need the redundant curly braces.
Because that's prone to errors. And the Zen of Python includes "explicit is better than implicit" and "Errors should never pass silently". Languages that do otherwise create bad habits.