In general, fat and water do not mix; liquids like these that do not form a homogeneous (uniform) mixture are called immiscible.
When food colouring is placed on the surface of milk, the drop remains intact with little spreading. The water-based food colouring does not mix with milk easily, because milk is a suspension of fat molecules in water and food colouring is a water-like dye.
Once the soap is added to the milk, it spreads over the surface and causes the food colouring to move quickly thorough the milk and out to the edges of the plate. Since milk is mostly water, it has a surface tension like water. Liquid soap wrecks the surface tension by breaking the bonds between water molecules.
After the initial zing of the food colouring, swirling of colours ensue due to the chemical structure of soap. Soap molecules have both properties of non-polar and polar at opposite ends of their molecules.
The fat in milk is non-polar. The non-polar hydrocarbon tail of the soap dissolves into the fat. The fat-like end of the soap molecules join with the fat in the milk and as the soap spreads across the surface of the milk, more and more fat molecules are pulled by the spreading soap. When the fat molecules congregate, the polar water in the milk is pushed away, taking the food colouring with it. The movement of the milk decreases as the soap becomes “used up", or attached to all the molecules for which it has room.