Preheat oven to 350°F (175°C). Grease and flour three 8-inch round cake pans.
In a mixing bowl, whisk together flour, baking powder, and salt. Set aside.
In a separate large bowl, cream butter and sugar until light and fluffy using an electric mixer.
Add eggs one at a time, beating well after each. Mix in vanilla extract.
Alternately add the dry ingredients and milk into the butter mixture, starting and ending with the dry ingredients. Mix just until combined.
Divide the batter evenly into three bowls.
Leave one portion uncolored (white layer). Add yellow gel coloring to one bowl and orange gel coloring to the other, mixing until the colors are evenly blended.
Pour each batter into its own prepared cake pan and smooth the tops.
Bake for 22–25 minutes, or until a toothpick inserted in the center comes out clean.
Let the cakes cool in the pans for 10 minutes, then turn out onto a cooling rack to cool completely.
Prepare the frosting by beating the butter until creamy. Gradually add powdered sugar, milk, vanilla, and salt. Beat until fluffy.
Once the cakes are fully cooled, layer them with yellow on the bottom, orange in the middle, and white on top.
Frost the entire cake with buttercream using an offset spatula.
Decorate with candy corn if desired. Chill before serving for clean slices.