Impossible to access an attribute on a null variable - on the one() method - all() works!
It feels like not all your products have a fieldPropertiesCategory value defined. Does that work?

{% set products = craft.entries.descendantOf(entry).all() %}
{% for product in products %}
    {% set properties = product.fieldPropertiesCategory.one() %}
    {{ properties ? properties.propCatFieldColor : '' }}
{% endfor %}