I think you could try and check the EEPROM content first byte per byte, to make sure you correctly stored the arrays or not (indicating another kind of problem). Write a small memory dump to serial and see if the value 1.0 is correctly stored (float32 should be 0x7F 0x00 0x00 0x00).
Something like this one, it's a code I wrote for another project where I had a "cfg" struct (so you need to adapt it to read from your EEPROM):
for (int a = 0; a < sizeof(cfg); ++a) {
byte b = EEPROM.read(a);
if (b < 16) Serial.print("0");
Serial.print(b, HEX);
Serial.print(" ");
}
Serial.println();
Then post here the results.