Os valores vazios estão sendo interpretados como a string vazia (''), não NULL, portanto, o valor padrão não está sendo usado.
Se você deseja controlar explicitamente o tratamento dessas strings vazias, a melhor coisa a fazer é carregá-las em uma variável de usuário e, em seguida, definir a coluna condicionalmente usando a variável de usuário.
Você pode usar isso para definir o valor para o que quiser (NULL, 0, etc.).
Aqui está um exemplo, supondo que você queira defini-lo como 0:
LOAD DATA INFILE '...'
INTO TABLE your_table
FIELDS TERMINATED BY ','
(column_one,..., @contributor_zipcode,..., column_n)
SET contributor_zipcode = IF(@contributor_zipcode='',0,@contributor_zipcode);