For future reference, I interacted with IT team at my institution after feedback received here and Stack Overflow, and they finally found a solution. In their words:
"Compute nodes aren’t normally used for development. So certain development packages are not installed by default. We installed “glibc-devel” and “glibc-headers” on the compute nodes.
So, it seems that when run interactively the job was running on the submit node (which had these libraries installed) and when run from the scheduler it was run on the compute nodes (which did not have the library installed). The reason for the discrepancy being that the libraries in question have traditionally been only used during development and compilation. This use posed a unique use case."