@Yimec You could separate (split) your slots for each customizable color: you would then duplicate each multi-colored attachment into a red part and have transparent areas where it should not be colored (the white part), then have the same attachment with the white part and red parts transparent, and so on for each color. You would need to make sure the pair of attachments is always active at the same time, and deformed in the same way (e.g. use Linked Meshes).
Another solution where you don't have to duplicate slots and attachments would be to write a custom shader (or Shader Graph) where you first author mask textures for each color (or a single mask texture use RGB channels, R for color1, G for color 2, B for color 3, and A for something else) and then multiply (or otherwise tint) the masked areas of your atlas texture.
Note that you could create the mask images on the attachment level (one mask image per normal attachment) instead of drawing masks based on the exported atlas. Otherwise you would need to re-do the mask when the exported atlas layout is changed.
When authoring masks on the attachment level, you would via a script run the Spine CLI texture packer to pack the attachments programmatically the same as your normal attachments. Just make sure to have the same transparent areas (whitespace), or disable whitespace stripping to not end up with a different atlas layout.