Eigentlich willst du auch kein angefügtes Leerzeichen rechts, sondern links, damit der Wert nicht vor/zurück springt.
Da hilft eigentlich eher
lcd.setCursor(0, 3);
lcd.print("Leistung: [W] ");
if (p < 10.0) lcd.write(' ');
lcd.print(p,1); // nur Werte zwischen "0.0" und "24.9" mit 3 oder 4 Zeichen
delay(200) ; // damit es nicht so zappelt, in echt natürlich wie "Blink Without Delay")
... oder dtostrf