My guess is that this site is using Server Name Indication (SNI). In this case the served certificates depends on the hostname specified in the SNI extension and will often differ if no SNI extension is used. I.e. it will be some completely different default certificate or it will be some old certificate because they only replaced the certificate used for SNI when renewing the certificate.
Modern browsers all use SNI for years while outside the browsers the support is mixed. Support for SNI was added to Python with version 2.7.9 in 12/2014. It might be that you are running an older version of Python or that you are using a lower level access to the SSL connection where you have to explicitly set the SNI extension yourself.
In theory one could also send different certificates depending on the capabilities of the client, i.e. certificates signed with SHA-256 for a TLS 1.2 client but a SHA-1 certificate for a TLS 1.0 client. In practice most TLS stacks don't offer this kind of behavior or make it hard to use and thus servers don't implement such a feature. Thus I guess that your problem is related to SNI.