I prohibited downgrade for a custom attribute but still my customers can disable that attribute.
Downgrade means switching from a higher value to a lower one, say, from 2GB to 1GB.
To reject an attribute completely means to not select any value. It should be distinguished from a downgrade to a zero value defined as an option.
If you go
Top > Billing Director > Product Manager > Custom Attributes > Attribute Name there is the "Force customer to select an attribute option" option.
Provider's Guide explains it
You can set the selection of one of the attribute options as a condition required for subscription creation. For example, this option is useful for attributes that define a dedicated server configuration, when all the parameters must be clearly specified. To require such a selection, please, check the Force customer to select an attribute option box.
In other words, if you wish the customer to imminently select one of the options defined for a custom attribute, please enable "Force customer to select an attribute option" for that attribute.
If "Force customer to select an attribute option" is disabled a customer can choose whether to use one of the options defined for that attribute or not to use the attribute at all.