Make the broth: In a large saucepan, combine the oil, onion, and garlic and sweat over medium heat until translucent. Add the chipotle and habanero chiles and saute for 2 minutes more. Add the chicken stock, bring to a simmer, add the epazote, and simmer for 30 minutes; season to taste with salt and pepper; strain and reserve.
Make the eggs: Saute the chorizo in a small skillet over medium-high heat until browned and separated into small pieces. Remove with a slotted spoon and set aside. Add enough vegetable oil to the skillet to make about 2 teaspoons and heat until hot. Stir in the onions and garlic and saute until soft; add the serrano chiles and chorizo.
Pour the broth into the saucepan and bring to a simmer; drop in the eggs and poach until just set. Add the bread and epazote and simmer for 1 minute more.
In each of 4 soup bowls, serve 2 eggs along with a large ladle of the broth. Garnish with chopped hard cooked egg and serve.
Reprinted with permission from Dos Caminos' Mexican Street Food by Ivy Stark and Joanna Pruess, copyright (C) 2011. Published by Skyhorse Publishing.