Actually the ATMega328P front end only handles the LCD for a very short period whilst the emonPi boots up, during start up there is a Python “emonPiLCD” service started that takes over control of the LCD.
See emonpi/lcd at master · openenergymonitor/emonpi · GitHub for the current code.
There are a couple of discussions about customising the display (and it’s push button) behaviour eg