This is just like the stuff they serve at Mexican restaurants, I love it!
Standard yellow queso uses processed American cheese blocks that melt into a slick, stable liquid without much effort. Replicating the stark white restaurant style requires a completely different approach using Monterey Jack or asadero. Real cheese contains moisture and solids that break down differently than block process cheese. Without a sturdy starch base, actual dairy will separate into grease and rubbery lumps under direct heat.
Building a proper roux is non-negotiable for this recipe. Melt the butter over very low heat until it liquefies without browning. Whisk in the white flour and cook that paste for precisely one minute to eliminate the raw starch taste. Pouring the whole milk in gradually prevents lumps from forming in the pan. Whisk continuously over medium heat for five to ten minutes until the sauce coats the back of a spoon. If the sauce boils too aggressively, the proteins will scorch on the bottom of the two-quart saucepan.
Shred your own Monterey Jack from a block rather than buying pre-bagged shreds dusted with cellulose. Cellulose prevents the cheese from binding smoothly into the hot bechamel base. Turn off the heat entirely before adding the grated cheese in small handfuls. Retaining high heat while adding cheese causes the fats to separate instantly. Stir each handful thoroughly until smooth before introducing the next portion. For holding the dip during service, transfer it to a small fondue pot or low-heat crockpot to prevent a skin from forming on the surface. Leftovers will solidify significantly in the refrigerator within two days. Reheat chilled portions gently over low heat with a splash of milk to restore the emulsion.