Place beans in a heavy pot. Add enough cold water to cover beans by 2". Bring to a boil; remove from heat and let stand 10 minutes. Drain beans; return to same pot. Add 8 cups cold water. Bring to boil, reduce heat to medium, ans simmer until beans are tender, adding more water by cupfuls as needed to cover beans, 1 1/2 to 2 hours. Drain beans.
Heat same pot over medium heat. Add chorizo and bacon and cook until chorizo is brown and bacon is crisp, stirring frequently and breaking up chorizo with back of spoon, about 10 minutes. Add onion and next 4 ingredients. Cook until onion is translucent, stirring frequently about 5 minutes. Add 4 cups broth, tomatoes with juice, and beans. Bring to boil, reduce heat to medium, and simmer 20 minutes for flavors to blend. Cool slightly.
Working batches, coarsely puree soup in processor using on/off turns. Return puree to pot, adding more broth as needed for desired consistency. Can be made ahead to this point. Refrigerate uncovered until cold, then cover and keep chilled.
Bring soup to boil. Add sherry; reduce heat to medium and simmer 3 minutes. Stir in 1/2 cup chopped cilantro. Season to taste with salt and pepper.
Place large spoonful salsa in each of 6 large bowls. Ladle soup over salsa. Serve, passing additional salsa, chopped cilantro, sour cream, guacamole, and chili powder alongside.