The issue with groups is that they contain users and groups. The issue with "Recurse" is that the same accounts may occur numerous times.
You need to rethink what you are trying to do.
Get-ADGroupMember -Identity 'Domain Users'|
where{ $_.objectClass -eq 'User' } |
ForEach-Object {
New-SMBShare -Name $_.saMAccountName @splat -ChangeAccess $_.saMAccountName
}
I strongly recommend against using the 'Domain Users" group as a template.
\_(ツ)_/