lcd.clear(); does not work

OK. Now I understand why the analogRead is required. The hardware is collecting all the button states into one value.

The analogRead does take time. Adding more time, using delay(), won't help.

So, did you add a Serial.print (or Serial.println) after the digitalRead?

What value did you get when the "Down" button was pressed?