Você não deve criar unidades no diretório graphical.target.wants , esse diretório é destinado a links simbólicos. Em vez disso, crie-o diretamente no diretório /etc/systemd/system .
Além disso, você deseja ter uma seção [Install] , descrevendo onde instalá-la quando o comando systemctl enable for usado. (No seu caso, você poderia usar graphical.target , embora multi-user.target seja uma escolha mais comum e seja uma dependência de graphical.target , então será puxada durante a inicialização.)
Portanto, crie isso em /etc/systemd/system/log.service :
[Unit]
Description=...
[Service]
...
ExecStop=/bin/bash /home/log.sh
[Install]
WantedBy=multi-user.target
E, em seguida, ative-o com:
$ sudo systemctl enable log.service
Isso deve funcionar então.
É possível que suas dependências estejam incorretas. Você tem Before=shutdown.target reboot.target , mas provavelmente você precisa usar uma After= de dependência para serviços que você precisa para executar antes que eles estão parados. As dependências funcionam em uma ordem inversa no desligamento, portanto, liste as que você depende (como local-fs.target , network.target ) nessa cláusula After= . A diretiva RequiresMountsFor= também pode ser interessante, para sistemas de arquivos que você precisa montar para que o seu log.sh possa ser executado ...