Как говорится в вопросе, почему все служебные файлы systemd имеют полный путь к программам, например:
ExecStart=/usr/bin/coolprogram
когда это могло быть просто
ExecStart=coolprogram
Потому что SystemD запускается в точке, когда не существует подходящей среды и $ PATH не определен. Кроме того, вы хотите убедиться, что получаете правильный исполняемый файл, даже если его нет в $ PATH или есть что-то еще (например, что-то вредоносное).
Почему для вас это проблема?