If you wish the 2FA challenge to happen only on initial login, then you must refer to pam_duo.so only with the services that handle initial logins.
Out of abundance of caution, you might instead wish to explicitly list the services that are allowed to skip the 2FA, so you won't accidentally leave a 2FA-free "hole" on a service you did not realize needs 2FA after all.
The line
auth [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet
means: "If the condition "service = systemd-user" matches, skip the next auth configuration line, otherwise proceed as if this line did not exist at all."
To provide a similar skip for two services (e.g. systemd-user and sudo), you could do this:
auth [success=2 default=ignore] pam_succeed_if.so service = sudo quiet
auth [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet
auth sufficient pam_duo.so
If the first line matches, we already know the service requesting authentication was sudo, so we don't have to check if it was systemd-user. So we skip two lines: the systemd-user check and the pam_duo.so authentication module.
If you want to allow 2FA-less su also (just as an example), you would add a third line:
auth [success=3 default=ignore] pam_succeed_if.so service = su quiet
auth [success=2 default=ignore] pam_succeed_if.so service = sudo quiet
auth [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet
auth sufficient pam_duo.so
And so on.
As always, when modifying PAM configuration, it is wise to not log out after you've tested your changes: if you are making the change over a SSH connection, open a second SSH connection for testing instead of logging out of the first one. If you are making the change locally, open a second terminal window and become root in there, or switch to a different virtual console and login in text mode likewise. You'll want a session that already is logged in with full root privileges ready to undo your changes in case it turns out you made a critical mistake.
On production systems, I personally would first log in a second SSH connection and switch it to root before making PAM changes, just to guard against accidental "fingers-faster-than-brain" logouts.