Der Counter bleibt auch beim reset stehen, da der beim reboot die Variable neu definiert und initialisiert und damit ist der vorherige Wert weg.
Wird Dir jedes Mal der Text "Reset Counter" angezeigt, ist das ein Neustart, da setup() hier nur nach einem Neustart einmalig aufgerufen wird.
Hast Du den Motor.Treiber von den 5V vom UNO getrennt und versorgst den jetzt mit eigenen 12V?