Add buttermilk, chipotle peppers, Tabasco sauce, Worcestershire sauce, salt, and pepper to a heavy-duty blender or food processor and process until smooth.
Pour the marinade into a large bowl, then add the chicken, making sure to completely submerge it. Cover and refrigerate for 5-6 hours. Remove from the fridge when ready to fry and let come to room temp for about 30-40 minutes.
When ready to fry, add flour, cornstarch, salt, paprika, onion, garlic powder, Italian seasoning, black pepper, and cayenne to a plastic bag and shake together until combined.
Next, drizzle buttermilk into the flour mixture and use a fork to mix it in to create crumbs.
Using tongs, remove one piece of chicken at a time and add to the flour bag. Coat thoroughly, shake off excess, then set on a parchment paper-lined baking sheet. Repeat until all pieces are on the tray, then add to the refrigerator for 20 minutes.
Add vegetable oil to a cast iron skillet or dutch oven about ¾ inch deep and heat to 350 degrees.
Remove chicken from the refrigerator and let it get back to room temperature for 10 minutes then add a few at a time to oil making sure you don’t overcrowd the pan. Fry for 13-15 minutes turning chicken halfway. To make sure chicken is done, check for a golden brown crunchy exterior and an internal temperature of 165 degrees.
Remove and drain on paper towels. Add chicken to a preheated oven to stay warm while you complete the rest of the components.