It's easy for beginners to learn programming, and it doesn't necessarily ever reach a performance bottleneck where you outgrow it and need something different. Python has libraries for practically everything, so you can use it for everything from coding a web app, to automating server administration tasks, to statistical analyis and data graphics, to orchestrating a MapReduce job on a cluster, so you also never really come to a task that forces you to choose a new language.
Therefore, even if other languages are better for certain tasks, the Python programmer is rarely ever forced to go looking for them.