Right now, if I restart the machine it forgets where the motor is positioned last time.
I don't see that. What I see is that you read a value from EEPROM, but do nothing with it. You don't print it. You don't make the motor go to that position.
lcd.setCursor(0, 0);
lcd.print("Pulses:");
if (PulseCount > -1) {
lcd.print(" ");
}
if (PulseCount < 10 && PulseCount > -10) {
lcd.print(" ");
}
if (PulseCount < 100 && PulseCount > -100) {
lcd.print(" ");
}
lcd.print(PulseCount);
This belongs in a function that you call from loop(), not in loop().
Your code is just littered with useless curly braces. Get rid of them.