The main benefit that a call gets from keyword arguments is that, from the parameter names, you can tell what the arguments mean.

Agreed.
 
When the arguments are already variables (parameters or locals) with the same name, you already have the same information, and there is no benefit from getting it twice.

Absolutely not. At that point you have to make a pretty big assumption that this is the case. In order to KNOW you need to go look up the function and compare two lists of names. And if it changes keyword arguments will throw an error upon invocation, positional arguments will not.
 
Keywords make code more readable in some. cases, less readable in others. Blindly using keywords everywhere would make code overall less readable, just as blindly avoiding keywords everywhere.

Currently a big part of why it makes code less readable is the repetition. It'd be cool to be able to get the advantages without making any significant dent in readability. 
 
Most Python programmers today seem to do a decent job finding the right balance, and the language and library do a decent job helping them. Could that be better? Sure. But encouraging keywords everywhere would not make it better.

Just want to point out that you have no idea of knowing that. Making religious assertions doesn't strengthen your case. You could have pointed out that the current python culture is one that generally produces some of the best and most usable code already, making changes to that dynamic risky. THAT I would have agreed to.
 
And a proposal that's specifically intended to encourage using keywords in cases where they add nothing but noise would definitely not make it better.

Except of course the little detail that with my suggestion the added noise would be almost insignificant. 1 extra character per variable name. Only for really horrible code with variable names of 1 or 2 characters will that be a significant increase in "noise".