Preheat oven to 350°F. Line two muffin pans with 18 liners and set aside.
In a large bowl, whisk together cake flour, sugar, cocoa powder, salt and baking soda. Set aside.
In another large bowl, combine eggs, butter, buttermilk, vinegar and vanilla extract.
Add flour mixture to wet mixture and beat on medium-high speed until mostly combined.
Add food coloring (more if you want a deeper red color) and beat again until well combined.
In your prepared pan, fill cupcake liners ¾ full. Bake for 20 minutes or until a toothpick inserted into the middle of a cupcake comes out clean.
Place on wire rack to cool completely before frosting.
In a large bowl, combine cream cheese and butter and beat on medium/high speed until smooth.
Add vanilla extract. Now reduce the mixer speed to a low and gradually add powdered sugar until frosting forms stiff peaks. Taste test - if you want it sweeter, add more powdered sugar. If you want less cream cheese flavor and more vanilla, add a little more vanilla extract.
If you want to color the frosting, now's the time to do it. I recommend using soft gel paste food coloring as it doesn't thin out your frosting the way normal food coloring gel does. Add a drop of color at a time and beat well until you reach the desired color. If you want to do multiple colors, just divide out your frosting into different bowls and beat the desired color into each individually.