I think the reason is the discrepancy between what you're saying (which is true) and reality:
> sometimes you have to represent 'nothing.'
Languages in which all values can /also/ be null break the "sometimes" requirement there. Not all variables/parameters should be able to represent nothing. Representing nothing isn't the issue here, I doubt anyone disagrees that that's useful (there are still Options). The fact that anything can be nothing is.