Place the cubed steaks in a shallow dish and pour the milk over them. Let them soak for at least 15 minutes, up to 2 hours, to tenderize.
In a wide bowl or pie plate, whisk together 2 cups of flour with salt and pepper.
Remove a steak from the milk, allowing excess liquid to drip off. Dredge the steak in the seasoned flour, pressing the flour firmly into the meat to ensure it adheres.
Place the breaded steaks on a wire rack or baking sheet and let them rest undisturbed for 10-15 minutes. This step is crucial for keeping the breading attached.
Heat about 1/4 inch of oil or shortening in a large cast-iron skillet over medium-high heat (approx 350°F).
Fry the steaks in batches, cooking for 3-4 minutes per side until golden brown and crispy. Do not overcrowd the pan. Remove steaks and drain on a wire rack or paper towels.
To make the gravy, reserve 1/3 cup of the frying oil in the skillet (discarding the rest) and keep the heat on medium.
Whisk 1/3 cup of the leftover seasoned flour into the hot oil. Cook for 1-2 minutes, stirring constantly, until the roux turns a light golden brown.
Slowly pour in the beef broth while whisking vigorously to prevent lumps. Bring the mixture to a gentle simmer.
Cook the gravy until it thickens to your desired consistency, about 5-7 minutes. Taste and adjust salt and pepper if needed.
Serve the hot steaks smothered in the brown gravy, ideally over mashed potatoes or steamed rice.