Heat a large, heavy soup pot on medium heat and add the olive oil. Once it is warm lay the chorizo sausage in the pan and turn it as necessary to brown. Pierce the sausage casing and cook until done. Allow to cool a few minutes and then place it in the refrigerator to firm up.
Now working in the same soup pot add the butter. Heat on medium heat and allow the butter to melt. Now add the garlic, chilies and red onion. Allow to cook 7 to 8 minutes, stirring occasionally.
Drain the soaking beans and add them to the pan. Stir well. Add the stock, the hock (or bone) and bay leaves. Turn up the heat and bring it to just under a boil, skimming as necessary. Lower the heat to low and add the beef chuck. Do not cover. Stir occasionally, taking care to not let the beans stick to the bottom.
When the beans are almost tender, season them with salt and pepper. Now add the potato, turnip and collards. Cook until the potato is just tender, (about 45 minutes). Cut the chorizo into 1/2-inch rounds and add it to the soup. Remove the beef and allow it to cool on a plate. Turn off the soup. Shred the beef apart and add it back to the soup. Season to taste and serve.