Because we all know how locale is a pile of cr*p, both in specification and in implementations. Our unit tests for it are a clear proof of that.
I wouldn't use expletives, but rather claim that the locale module is highly platform-dependent.
Actually, I remember you saying that locale should ideally be replaced with a wrapper around the ICU library.
By that, I stand - however, I have given up the hope that this will happen anytime soon.
Wrt. to local number parsing, I think that the locale module would be way better than the nonsense that Python currently does. In the locale module, somebody at least has thought about what specifically constitutes a number. The current not-ASCII-but-not-local-either approach is just useless.
Maintaining a reasonable implementation is a burden, so deferring to the C library is more attractive than having to maintain an unreasonable implementation.