Yes, butterflyfish lay eggs. When the female butterflyfish release their eggs, the males release their sperm. They do this on the surface of the water, where the eggs will either hatch or become food for plankton-eating fish.
Butterflyfish eggs are not easily seen by the human eye because the eggs are so small. In the wild, the eggs are typically laid on top of a reef to try to keep them away from predators.
Butterflyfish eggs typically hatch between 28 and 30 hours after they are released and fertilized.