EEPROM: Same driver for similar chips, different behaviours
Look at Figure 7 in the M24C01 datasheet and Figure 9 in the M24C64 datasheet.

The M24C01 only takes one byte for the address and the M24C64 takes two. So the library you are using is sending out a two byte address to the M24C01.

You didn't specify the library you are using. Are you able to specify the address width?