I took your code and tweaked it into a Country verifier for the Customer entity of NorthwindIB. Any subsequent attempt to set the Country property to null (regardless of the value of the Action property) elicited a generic "Country is required" message (not your custom message).
So I set a break point inside your VerifyValue() method and found that it never runs. The null check is simply resulting from the
true setting on the second parameter of your call to the PropertyValueVerifierArgs constructor):
public IdentificationNumberRequiredVerifier()
: base ( new PropertyValueVerifierArgs<AccountMutation>(
IdentificationNumberEntityProperty.Name, true, "Identification Number"))