Usermod returning syntax error

"sudo usermod -d /home/${user1} -g $primgroup -Gn $grouplist -u $zaquid -p apple1 $user1"

What's wrong with this command?

Add a debug trace before the command and show us the output:

set -x
sudo usermod -d /home/${user1} -g $primgroup -Gn $grouplist -u $zaquid -p apple1 $user1
set +x

The option -Gn of the usermod command required a comma delimited list.
If you got the group list with the id command, this delimiter for that list is space.
Try to modifiy the id command :

id -GN user | sed 's/ \{1,\}/,/g'

Here it is debugged:

+ ssh -q acce@comer sudo usermod -d /home/syncid -g staff -Gn staff -u 1231 -p xxx syncid
Usage: usermod [ -u uid ] [ -g group ] [ -G group1,group2 ... ] [-d dir [ -m ] ] [ -s shell ] [ -c comment ] [ -l new_name ] [ -e expire ] [ -r role1,role2 ... ] login

There is only one group under -Gn so I can't see that being the case.

Replace the option -Gn by -G

Still syntax error. Here is the debugged:

+ ssh -q x@x sudo usermod -d /home/syncid -g staff -G staff -u 1231 -p xxx syncid
Usage: usermod [ -u uid ] [ -g group ] [ -G group1,group2 ... ] [-d dir [ -m ] ] [ -s shell ] [ -c comment ] [ -l new_name ] [ -e expire ] [ -r role1,role2 ... ] login

Is it because the -g and the -G are the same?

The linux man page for the usermod commands doesn't signal restrictions.
Try to remove options one by one, to determine if one of them is source of the problem.

I don't see a -p option there.