Der LM358 kann maximal 20mA liefern, der TIP142 bekommt dann u.U. nicht genug Basisstrom um voll einzuschalten. Folge: hoehere Spannungsabfall am TIP142 (mehr Verluste in TIP142, der wird waermer) und weniger Spannung an den Motoren.
Daher habe ich geziehlt den LM311 vorgeschlagen da der viel Strom liefern kann.

Alternativ kann man ein BC547 zwischen LM358 und TIP142 schalten, oder eben den genannten MOSFET (IRL...) statt TIP142.

Spannungsregler 7805 ist schon OK (macht die Lichterkennung stabiler), da muss man aber Widerstaende RB1 und RB2 neu berechnen.
RP2 sollte 100k statt 10M sein.

Die Akkuspannung fuer die Motoren zu regeln ist wenig sinnvoll, wenn die Akkus leerer werden geht halt das Motordrehzahl runter.
Hast du mal den Widerstand des Motors gemessen, um den Maximalstrom berechnen zu koennen?
Wegen Kurzschlussstrom: hast du den Akku mit dem Multimeter kurzgeschlossen? Das Multimeter misst Strom indem es den Spannungsabfall ueber einen internen Widerstand misst. Wenn dieser Innenwiderstand (relativ) gross ist, wuerde der Kurzschlussstrom eher durchs Multimeter als durch den Akku begrenzt.
1.2V/6.7A=0.18 Ohm Innenwiderstand (Akku+Multimeter).
Am liebsten findest du den Typ des Akkus heraus und guckst im Datenblatt nach wieviel Strom der liefern kann.

Mein Vorschlag zur Bestellung: LM358 und MOSFET. Potis, BPW40, Sockel usw. so wie du es vorgeschlagen hast.