It is necessary for the butter, eggs, cream cheese, and strawberry puree to be at room temperature. Wash and dry the whole strawberries (about 2-3 cups total), trim the green tops, and place the in a high speed blender or food processor. Puree till completely smooth then set aside.
Preheat oven to 350 degrees F. Combine milk with vinegar in a small bowl and allow to sit for at least 5 minutes. This creates homemade buttermilk.
In a large bowl, using a handheld or stand mixer with a paddle attachment, blend the butter and sugar together on medium high speed until fluffy and creamy - roughly 2-3 minutes. Add eggs and vanilla, scraping down the sides of bowl as needed, and beat until just combined and smooth.
In a medium bowl, stir the flour, baking powder, baking soda and salt. Slowly add the dry ingredients to the wet in 3 parts, beating on low speed after each addition till just combined. Add the milk mixture and strawberry puree on low speed, or stirring by hand, till just combined. Do not overmix!
Spoon batter evenly into 12 cupcake liners. Bake for 18-20 minutes (17-18 for all purpose flour) at 350F degrees until a toothpick inserted in the center comes out clean and the tops are firm to touch. Allow to cool at room temperature before frosting.
Meanwhile, in a stand mixer or with a handheld, beat together the room temperature cream cheese, butter, vanilla, and strawberry puree. The puree tends to clump up the cream cheese and butter at first - don't worry, this will all smooth out as you continue mixing. A whisk attachment helps!
Add powdered sugar 1 cup at a time until desired thickness and sweetness is reached. Taste and add more strawberry puree if needed for color and flavor, keeping in mind this will thin it out and more powdered sugar may be necessary. It should be a very light pink color. Fold a piping bag over a tall cup and fill it with the frosting. Transfer to the refrigerator for 10-30 minutes to get the frosting to firm up slightly. Frost right before serving!