Cook the elbow macaroni to al dente according to the instructions on the package, then drain and set aside.
Add the butter to a large saucepan and melt over medium heat. Add in the all-purpose flour and whisk constantly for about 1 minute. Gradually pour the milk in while whisking, making sure that no lumps form.
Reduce the heat to low and add the mozzarella and parmesan cheese. Stir until the cheese is entirely melted. Add the garlic powder and onion powder, and season to taste with salt and pepper. Adjust the seasonings as necessary.
Combine the macaroni with the cheese sauce, and stir until well incorporated.
Line a rimmed baking sheet with parchment paper or plastic wrap. Transfer the mac and cheese to the baking sheet and spread it out evenly.
Cover the mac and cheese with plastic wrap and refrigerate until firm, at least 2 hours and up to overnight.
Set up your breading station and place the flour in one bowl, the eggs beaten with salt and Italian seasoning in a second bowl, and the breadcrumbs with a pinch of salt in a third bowl.
Take portions of the chilled mac and cheese and shape them into bite-sized balls. Roll each macaroni ball in the flour, then dip the mac and cheese ball into the beaten eggs, and then coat it in the breadcrumbs.
Heat the vegetable oil in a large, deep skillet.
Carefully add the mac and cheese bites to the skillet and fry until golden brown and crispy all over, about 2 minutes per side.
Use a slotted spoon to remove the mac and cheese bites from the oil, and let them rest on a paper towel to drain the excess oil.
Cool slightly, then serve with your favorite dipping sauce.