Melt butter in a large soup pot or Dutch Oven over medium heat then add carrots and shallot, season with salt and pepper, and then saute until carrots are tender, 5-7 minutes.
Sprinkle in flour then whisk to combine and cook while whisking for 1 minute. Slowly stream in chicken broth while whisking to avoid lumps then add milk and whisk to combine. Season with salt and pepper then turn heat up to medium-high to bring soup to a simmer — NOT A BOIL — while whisking slowly yet constantly. Once simmering, turn the heat back down to medium or medium-low to maintain a gentle simmer then cook while whisking until the soup has slightly thickened, 10 minutes, stirring occasionally.
Add broccoli florets to pot then simmer for 20 more minutes, or until broccoli is tender. Remove pot from heat then add 8oz cheese in three batches, stirring until completely smooth before adding the next batch. Mash florets slightly with a potato masher to reach desired texture – this is optional. Taste soup then add salt and pepper if necessary. Ladle into bowls then serve with remaining shredded cheese.