You are initialising the array $vSphereLicInfo for each vCenter in the loop.
Try something like this instead.
Connect-VIServer-Server $VCArray-User 'user1@test.com'-Password 'test'|Out-Null
$global:defaultviservers|
ForEach-Object-Process {
$vc=$_
$ServiceInstance=Get-View ServiceInstance -Server $vc
$LicenseMan=Get-View-Id $ServiceInstanceContent.LicenseManager-Server $vc
$LicenseMan.Licenses|
ForEach-Object-Process {
New-Object PSObject -Property @{
VC=([Uri]$vc.ServiceUri.AbsoluteUri).Host
Name=$_.Name
Key=$_.LicenseKey
Total=$_.Total
Used=$_.Used
}
}
}|Export-Csv-Path '.\report.csv'-UseCulture -NoTypeInformation
Disconnect-VIServer-Server *-Confirm:$false