Melt the butter in a skillet over medium heat. Add the onion and cook for 4–5 minutes, until softened and translucent.
Meanwhile, lightly steam the broccoli until just tender. You don’t need to cook it until completely soft—it will continue cooking in the slow cooker.
Place the steamed broccoli in a food processor or blender with about 1 cup of the chicken bone broth. Pulse until the broccoli is finely chopped and creamy but still has a little texture. For a completely smooth soup, blend it longer.
Transfer the cooked onion and butter to the slow cooker. Add the broccoli mixture, remaining chicken bone broth, pepper and sea salt. Stir to combine.
Cover and cook on LOW for 3–4 hours.
About 30 minutes before serving, add the whipping cream or milk and the cubed cream cheese. Stir well, cover and continue cooking on LOW until the cream cheese has softened. Stir again until smooth.
Turn the slow cooker to WARM or OFF. Add the cheddar, Parmesan and Monterey Jack a handful at a time, stirring gently after each addition until completely melted before adding more.
Taste and adjust the salt and pepper if needed. If the soup is thicker than you’d like, stir in a little additional warm bone broth until it reaches your preferred consistency.
Ladle into bowls and, if desired, top with a little extra shredded cheddar. Serve with warm crusty bread.