I had a similar issue after a disaster recovery. My targets got messed up.
@mark_nl helped me with this:
check if machines.target is loaded at boot.
systemctl list-units --type target to list all
or
systemctl list-units --type target | grep machine to list only machines .target
to check the status of machines.target:
systemctl status machines.target
if it’s not enabled:
systemctl enable machines.target
Maybe this helps.