This works as designed but it is a minor UX and technical design issue.
When a user has multiple roles on a dataset, ie. admin and curator, they receive two notifications from a user when they request access to a file.
This happens when the access permissions to a dataverse grant a user curator rather contributor perms when creating a dataset or dataverse in that dataverse. This is our root config in production, btw.
The "works as designed" part is because curator and admins get the request access notification and if the admin of the dataverse creates a dataset in their own dataverse where curator is granted to a user (them) who creates a dataset, they have both admin and curator roles on that dataset, both of which receive the request.
So: admin maybe should not also get other, lesser roles, admin/curator should only get one notification regardless of how many incidental roles they accrued.