How to save a float variable to the eeprom

If the program works, fine.

However, you must not write to the EEPROM very often, and CERTAINLY not every pass through loop(), as the EEPROM has a very limited number of writes.

Your program is too long and complicated for me to easily see whether you break that rule.