I suppose, instead of the LEDs, you could define special symbols and show these, as appropriate, on the LCD display (assuming there are some character positions free). Thus saving a few more pins.
Not an option. I have to use the LED's...
Easier to use the 74HC595 to drive the LEDs.
To the OP - which of the ELEGOO kits do you have, so we can see exactly what parts you have available.
Having a Mega is a good idea anyway, even if you eventually want your project to run on an UNO/Nano, because it allows you to develop the code without having to be concerned with running low on memory.
Maybe an important part of this Exercise is to test your ingenuity in using only the available parts to achieve this objective.
I see there are LCD libraries for using the 74HC595, so that would not be as difficult as I though.