Different types of result for coulmnName = nulll and coumnName IS NULL in PostgreSQL
As per SQL standard, comparisons (and boolean operations) use 3-Value logic (true, false, unknown), with unknown being represented by NULL. The following expression returns unknown (represented by NULL):

party_type = null


Whereas

party_type IS NULL


will return a pure boolean (true, false).

You probably want a "NULL-safe comparison predicate":

party_type IS NOT DISTINCT FROM null


See Comparison Predicates