Because it's pseudocode that runs. Look at how many times non-python programmers have written code examples and someone says to them that "that's almost identical to python."
Now how about Scheme? I recently tested that myself by using a case expression, a syntax I rarely use. I didn't have to look in R5RS. I just put the parens where they would naturally go for the most obvious syntax tree, and it worked.
For someone steeped in Algol-like languages, Python will be easy to get started with. Scheme/Lisp takes longer to get started, but once you get it, you don't have to keep going back to the documentation. It just makes sense.
Drink all you want. The pseudocode above still translates into Scheme in a straightforward way. The Python community still can't agree how to translate it.
The python way is to use a dictionary, or in simpler cases, if statements.
Your example falls short because case statements aren't such an obvious method of solving the problem as you think. They are nothing more than an artifact of the machine that C pushes up to you.
Some functions map multiple elements of their domain to single elements of their range. My pseudocode is a concise way to express such a function. It is not an artifact of the machine.
It's still absolutely no more difficult with if statements, and with if statements you don't have to worry about error prone fall through. There is no lack of consensus on how to do this. It's very obvious.
That's because pseudocode conventionally uses indentation to denote structure, and Python does too. This explanation is trivial because pseudocode is trivial. The sort of code that can be meaningfully written as pseudocode is easy to understand in any language, and so it doesn't matter.
This is a very easily testable theory.