I think symmetry breaking might be one reason, although the problem of equal outputs won’t be that serious like in linear layers.
E.g. if you initialize a linear layer with some constant weight, each output will have the same value. Later in the backward pass this could create the same weight updates for each parameter etc. Each weight thus cannot learn anything “new”, and you would have a whole layer of a cloned neuron.
Random initialization breaks this symmetry.
Also, I think another reason might be that your constant values might bias your model towards a particular solution, which might be useful, if you know what you are doing.