It appears the issue is relating to weak logic surrounding SAS models. However, more test cases should be provided to confirm if this is indeed a protocol difference, or a difference in how manufacturers report SMART data.
It appears the script is incorrectly parsing smartctl results, as the script reports the following:

but sudo smartctl --all /dev/sda clearly shows the expected data

Expected behavior:
Correctly parse the results of smartctl so the script can function accordingly.