In deinem Script oben, warum einmal mit at now, einmal ohne?
Code
echo mount /dev/disk/by-label/$ID_FS_LABEL /media/pi/$ID_FS_LABEL
echo mount /dev/disk/by-label/$ID_FS_LABEL /media/pi/$ID_FS_LABEL | at now
Auch kritisch ist, dass du in einem Script ein weiteres Script aufrufst. Das ganze über udev ist nicht robust und du läufst in merkwürdige Fehler, wie du aktuell siehst. Versuch's lieber über eine systemd-unit. Du kannst dir auch ganz schnell dein System mit dem herumgefrickel zerlegen.
Wenn du jetzt abschließend noch (unsauber) lösen möchtest, versuche mal alles in ein Script zu packen.