The Get-ADGroupMember
cmdlet would solve this in a much more efficient way than you're tying.
As an example:
$users = Get-ADGroupMember -Identity 'Group Name'
$users.count
132
EDIT:
In order to clarify things, and to make your script simpler. Here's a generic script that will work for your environment that outputs the user count for each group matching your filters.
$groups = Get-ADGroup -filter {(name -like "WA*") -or (name -like "workstation*")}
foreach($group in $groups){
$countUser = (Get-ADGroupMember $group.DistinguishedName).count
Write-Host "The group $($group.Name) has $countUser user(s)."
}