I think you were running into some powershell width issues where it was only returning the first 120 characters of each line of output. I added the following to the beginning of both scripts to fix that:
$pshost = Get-Host # Get the PowerShell Host.
$pswindow = $pshost.UI.RawUI # Get the PowerShell Host's UI.
$newsize = $pswindow.BufferSize # Get the UI's current Buffer Size.
$newsize.width = 800 # Set the new buffer's width to 800 columns.
$pswindow.buffersize = $newsize # Set the new Buffer Size as active.
$newsize = $pswindow.windowsize # Get the UI's current Window Size.
$newsize.width = 800 # Set the new Window Width to 800 columns.
$pswindow.windowsize = $newsize # Set the new Window Size as active.
I also modified your discovery script so that your WildAliases are unique. In one case, there was a certificate that didn't have a subject, so i added some logic to gracefully handle that. When the subject is known, the last 5 digits of the thumbprint are appended to the instance name to make it (hopefully) unique.
I also added some instance level properties for each instance. Cert.issuer, cert.serialnumber, and cert.thumbprint. These instances could be used to dynamically group certificates if wanted. If the instance level properties aren't needed, those lines can simply be commented out.
I also removed the valid range constraint just to make sure we were getting values on all of them. You had one certificate that was returning a negative number. If you want that negative number to open an alert, you can't exclude it from valid range. If you truly want to ignore negative values, just put the lower value in the valid range.