The answer may be more complex than it appears.
I'm assuming (although it isn't stated) that you're looking for an ongoing solution - i.e. one that keeps all the systems updated over time - rather than a one-time setup thing?
Also, what is the degree of standardization when it comes to user profiles - are you intending/expecting to setup each user on every system? Or using a central directory of accounts?
Also, do you expect any given user to use a specific machine? (e.g. User A always uses Mac A, User B -> Mac B, etc.)
Or are users able to move between machines (today User A is on Mac A, tomorrow they're on Mac B)
If the users are mobile, do you want/expect them to have the same Desktop, documents, etc. available no matter which machine they're on?
Or is the same user logged in on multiple systems at once (e.g. User A is logged in on Mac A, Mac B and Mac C at the same time - common in batch or distributed workload)
If the same user is on multiple machines, do they share a desktop, documents folder, etc? or are they specific per machine?
Like I said, more complex than the original question suggests.
For some of these scenarios, you can setup a directory server that has all the user accounts, and you can setup a file server that holds each user's home folder - in this way any user can log in on any machine and get the same desktop environment, although how you deal with multiple applications on multiple machines trying to access the same files is highly application-dependent).
In this model, though, it's still possible for users to install software on one machine that differs from the others.
For that there are various system management utilities around that ensure a standard set of applications (including version updates) and can even block the installation of 'non-approved' software. That may be the best bet if you're trying to maintain a pool of similar systems.
Some of the better-known ones include:
Jamf
Kandji
Hexnode
plus others - search for 'MacOS MDM' for more options