That is because data-dictionary item EDCT does not allow blanks when used through E1. You come at that table outside of E1, it won't look at any validation column EDCT has.
EDSP is the same.
(Allow Blank Entry = N - meaning in E1 it adds a space)
Ascii character table - What is ascii - Complete tables including hex, octal, html, decimal conversions
People should take a look at the ASCII chart and learn what these 2 values of blank and NULL are in Binary. (which at the end of the day, regardless of what software you are using is what the comparison in the CPUs registries will use)
Null is 0 no value at all in decimal
Blank is 32 in decimal
So an if of Less than or equal to BLANK (32) will capture both blank AND NULL