How to make on color not overlap other while texture painting?
In this particular case you can set the blend mode to multiply. Since input_color * 1 = input_color and input color * 0 = 0, painting on white (1) will result in the exact color you are painting with, while painting on black (0) will result in black.



But I'd recommend painting from the bottom up, using layers and transparency to minimize destructive editing.