Linked servers are often difficult, because there are so many components and error message are often cryptic. And using MSDASQL + ODBC does not make things easier since that adds one more component.
I think you should try an OLE DB provider for Postgres instead: https://www.pgoledb.com/.
Myself, I have one from Intellisoft that I have used very occasionally, and I don't know if that one is still current.