I ran 'journalctl -b -1' and this is the part where the shutdown hang happens:
Oct 22 14:41:06 db11 systemd[1]: session-2.scope: Killing process 5663 (cinnamon-launch) with signal SIGKILL.
Oct 22 14:41:06 db11 systemd[1]: session-2.scope: Killing process 5721 (n/a) with signal SIGKILL.
Oct 22 14:41:06 db11 systemd[1]: session-2.scope: Killing process 5723 (cinnamon-launch) with signal SIGKILL.
Oct 22 14:41:06 db11 systemd[1]: session-2.scope: Failed with result 'timeout'.
I ran 'ps aux | grep cinnamon' and found the PID for cinnamon-launcher. I killed it and it respawned. I killed it a second time and it did not respawn. After that, I shutdown using the cinnamon menu with no hang.
I'm not sure what 'cinnamon-launcher' does, but I guess this problem does not have to do with cinnamon-settings-daemon as I originally thought.