Why are functions essential in Python, and how does modular programming enhance code organization, reusability, and maintainability?