Grate the cheese as finely as possible (preferably with a microplane grater). This will help the dough be smooth and prevent the Buñuelos from cracking when frying.
In a large bowl, mix the grated cheese, cornstarch, cassava starch, sugar, and baking powder.
Add the egg and softened butter (if using) to the dry ingredients. Start kneading the dough with your hands or use a stand mixer.
Add the milk by the tablespoon only until a smooth, pliable, soft dough that doesn't stick to your hands is formed (playdough-like consistency). You may not need all the milk – it depends on the moisture content of your cheese and the size of your egg.
In a deep pot or fryer, heat enough oil for deep frying. Temperature is key: you must maintain a stable temperature of 150–160 °C (300–320 °F).
Carefully drop the balls into the oil, but do not overcrowd the pot (the oil must not cool down).
The Buñuelos will fry for a longer time, about 6–10 minutes. At the correct temperature, they should sink to the bottom, then slowly inflate and float to the surface and rotate by themselves, achieving a perfect round shape and golden brown color.
Remove them with a slotted spoon and let them drain on a plate lined with a paper towel. Serve warm.