Fellow noob here ....
Yes, you can assign a single role to a server, or multiple roles.
IMHO, one should be dedicated to the control panel only, maybe also with DNS. It will also be an application and database server automatically, since it hosts webmail, control panel, and phpmyadmin.
one should be dedicated to the mail server role.
as many as needed should be dedicated to the application server role AND the database server role.
one should be dedicated to the backup server role.
You really need a minimum of 2, but ideally (IMHO) 3 servers with the DNS role.
Ideally you will have just one control panel server, and you will assign the users to the specific servers via website placement rules. I haven't really gotten that deep yet, but https://enhance.com/docs/application-role/ should help.