Melt the butter in a small skillet over medium heat. Add the shallot and cook for 2 to 3 minutes until soft, then add the garlic and cook for 30 seconds, just until fragrant. Sautéing these first is what gives the dip that deep, sweet, roasted flavor instead of a raw garlic bite.
Add the cubed cream cheese, sour cream, mayonnaise, Parmesan, mozzarella, and Monterey Jack to the Crockpot. Stir in the shallot and garlic, lemon juice, Worcestershire, hot sauce, onion powder, salt, and pepper. Fold in the spinach and artichokes until everything is evenly combined.
Cover and cook on low for 2 to 2½ hours, stirring once about halfway through, until the cheeses are fully melted and the dip is hot and bubbly. Give it a really good stir at the end so it's silky and smooth. Taste and add a pinch more salt or a squeeze of lemon if you want it brighter.
For a golden, bubbly top, sprinkle the extra mozzarella and Parmesan over the dip, then cover and cook on high for 10 to 15 minutes until melted. Or slide the Crockpot insert under the broiler for 2 minutes if it's oven-safe.
Switch the Crockpot to warm and serve right from it with toasted baguette slices, chips, and fresh veggies for dipping.