I have a car that has two materials assigned to it. When I apply a boolean modifier to the car it tweaks all the colors that were assigned to it.
Why is this and what can I do about it?
This is because assigning different materials to a mesh is dependent on the Topology of the mesh.
Adding a Boolean operation changes the topology, so the faces that no longer exist can't have a material, and new faces will most likely be in different positions or shapes.
Blender assigns the first material to new faces created by a Boolean modifier:
A few possible workarounds:
Applying the Boolean modifier and assigning the materials your self, as well as changing the topology to fit where the materials should go.
Using a texture to combine materials with a Mix shader, independent of the object topology.