There is no mistake. The private key is encoded in a password-protected PKCS#8 structure (inside a PEM envelope) and that is not understood by the current version of PyCrypto (2.6).
Support for PKCS#8 is available on the current development branch of the library though.
EDIT: PKCS#8, not PKCS#7