Applying Permissions via PowerShell

I'm having some trouble with my AD user creation script and applying NTFS permissions, and at this point I'm at my wits end. Below is my script:

Import-Module Active Directory
$csvfile = Read-Host "Input the path to the CSV file"

$csvdata = Import-CSV $csvfile

ForEach ($list in $csvdata)
{
   $uname = $($list.Username)
   $fnme = $($list.FirstName)
   $lnme = $($list.LastName)
   $gyear = $($list.GraduationYear)
   $pass = $($list.InitPass)
   $samuname = $uname.ToLower()
   $mpass = $pass.Substring(0,4)

###I shortened the command New-ADUser because most of the switches were unnecessary to what is actually causing the problem New-ADuser -SamAccountName "$samuname" -HomeDirectory "\\fileserver\share\$gyear\$samuname"

   Add-ADPrincipalGroupMembership -Identity $samuname -Memberof "Students","$gyear Students","Students Authorized"

   New-Item \\fileserver\share\$gyear\$samuname -type Directory

   $acl = Get-Acl \\fileserver\share\$gyear\$samuname
   $permission = "Domain\$samuname","FullControl",ContainerInherit,ObjectInherit","None","Allow"
   $accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission
   $acl.SetAccessRule($accessRule)
   $acl | Set-Acl \\fileserver\share\$gyear\$samuname
}

Here is the problem I'm running into; it works just fine for the first user. Any user after that the block that applies permissions to their "Home Directory" fails. If I run this in PowerGUI Script Editor and step through line by line, it works perfectly for all users in the CSV, not just the first one. I have tried changing my ACL path from "\fileserver\share\$gyear\$samuname" to "\fileserver\E$\share\$gyear\$samuname" but that also makes no difference. Additionally, if I through that bottom block into a separate script and run it against the same CSV file, it works perfectly for all users in the list.

Thank you for taking the time to look at this.

**Edited for clarity