証明書は有効なのにTLS接続に失敗します。ホスト名やIPの不一致は関係ありますか?

関係あります。InitializeTls() に渡した接続先(ホスト名またはIP)と、証明書の SAN/CN が一致しないと、サーバー本人確認に失敗して接続できません。

例として、localhost で接続しているのに証明書が 127.0.0.1 しか含まない場合は失敗します。接続時に使う識別子と証明書の識別子を揃えてください。