The groups must exist before you can add users to them. When you don't assign a primary group then the useradd command creates a primary group with the same name as the username, like you said. If you want to add the user to additional groups these must exist.
So if you want for example to create a user, assign primary group users and additional groups developers,printer,etc...
If the groups developers and printers don't exist:
useradd username -g users -G developers,printers
If the groups already exist then of course you don't have to execute the groupadd command. As far as I know you cannot create a new user and assign him to a secondary group if that group has not been created. So yes, in my opinion you'll need two commands.