Melt butter in large pot over medium heat. Cook onion and carrots until lightly browned, about 10 minutes. Add garlic and cook until fragrant, about 30 seconds. Stir in flour and cook until golden, about 1 minute. Slowly whisk in broth, beer and milk. Bring mixture to a simmer, then reduce heat to low and simmer gently (do not boil) until carrots are very soft, 20 to 25 minutes.
Meanwhile, toss shredded cheeses and cornstarch in large bowl until well combined. Puree soup in blender in two batches until completely smooth, return to pot, and simmer over medium-low heat. Whisk in cheese mixture, one handful at a time, until smooth. Season with salt and pepper. Serve. Soup can be refrigerated in an airtight container for 3 days.