I2C EEPROM programmer

This should 100% be straightforward to do - I don't have time to dissect your code and figure out why it's not working...

But I question this approach...

Are you aware that there are USB devices (based on the CH341T) that you can plug into your USB port, pop an I2C or SPI eeprom or SPI flash chip into, and read/write with a desktop application? With some searching, I was even able to find a desktop application with the UI in english!

That they used an FM24V01 instead of a normal 128kbit EEPROM should set off blaring alarm bells in your head. Why did they do that? The FRAM chips cost like an order of magnitude more per bit than EEPROM, maybe more. You don't use a part that much more expensive for no reason.

Either they needed it because they had to do no-delay writes (eeprom has a delay after writing a page), or they were going to rewrite it many many times.

(FRAM has effectively infinite rewrite limit - even if you rewrote it 1000 times a second, its specs indicate it would last over 3000 years. An eeprom page being rewritten 200 times per second (the fastest it's capable of, for at24c128) would reach it's spec'ed write limit in an hour and a half)

I was planning to make an EEPROM read/writing sketch, until I discovered there was an off-the-shelf EEPROM read/writer available on ebay for a few bucks, with the GUI control software already written.