When those eggs hatch, the resulting larvae feeds on the caterpillar, killing it. Also, some birds have been seen eating monarch caterpillars and adults in spite of the bad taste and toxin of the milkweed. Insects are not affected by the toxins of the milkweed and many such as praying mantises will eat the caterpillars as well. That's most likely the reason that butterflies can lay hundreds of eggs. To bring in other butterflies, investigate what their caterpillars eat, and add some of those plants into your garden.
Females can detect a host plant from a great distance away.
Check the undersides of leaves for eggs. Females will light on a leaf, curl their abdomens under, and deposit an egg on the underside of the leaf. They are often found singly, but certain species lay them in clusters. I like this one a lot, and will see if our local nursery carries that one. This rose is spectacular and blooms all summer.