Saving an unsigned long int to internal EEPROM

Building functions outside the loop is probably the next step.

It is NOT the next step. When you have code working as part of loop(), move it out of loop() into a function. The function you are working on, whether it is loop() or some other function, should be as short as possible.

In any case, you need to abandon this project for a while. Play around with writing to the LCD completely separately from this project. When you COMPLETELY understand what setCursor(), clear(), etc. do, then you will have no problem using the LCD in this project, and putting the text EXACTLY where you want it.

Play around with strings. Clearly, you do not COMPLETELY understand arrays and putting text in arrays at specific positions and what NULL terminated means and printing arrays vs. printing characters from arrays.

When you do, you'll understand that what you are trying to do is very simple.

There IS a correlation between where the put a letter into the array and where to print the letter on the LCD. When you see that, putting the letter into the array and putting the letter on the LCD will be a piece of cake.