If features are always positives, why do we use RELU activation functions?
The fact that features are always positive values don't guarantee that outputs of hidden layers are positive too.

Due to multiplication, output of an hidden layer could contain negative values, i.e., a hidden layer can contain weights that have opposites signs as its input.
Remember that only layer outputs, not their weights, are passed through ReLu, so, weights of a model could contain negative values.