You must know very different "typical python coders" than I do. Almost every Pythonista I know or look up to knows at least some C, at least enough to write Cython, and usually enough to write idiomatic C. As you allude to, we often have to when we need to optimize CPU-bound code.
Almost the only exception to this are the coders I know who are just starting to program. But almost anyone who stays active in Python will eventually learn some C, if they don't already know it.