Preheat the oven to 350°F (175°C). Line a 12-cup muffin tin with paper liners.
In a medium bowl, whisk together the sifted flour, baking powder, and salt. Set aside.
In a large bowl or stand mixer, beat the softened butter, granulated sugar, and honey on medium speed until pale and fluffy, about 3–4 minutes.
Beat in the eggs one at a time, scraping down the bowl after each addition. Mix in the vanilla.
Mixing the Batter
Add the dry ingredients to the wet mixture in three additions, alternating with the milk. Mix on low just until combined; do not overmix.
Gently fold the finely diced peaches into the batter with a spatula.
Divide the batter evenly among the liners, filling each about two-thirds full.
Baking
Bake for 18–22 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs. Rotate the tin halfway if your oven has hot spots.
Allow cupcakes to cool in the tin for 5 minutes, then transfer to a wire rack to cool completely before frosting.
Frosting and Serving
Beat the softened cream cheese and butter together until smooth. Mix in the honey and vanilla. Gradually add the powdered sugar and beat until fluffy. If using, fold in the peach puree.
Pipe or spread the frosting onto cooled cupcakes. Garnish with thin peach slices, a drizzle of honey, or sprinkle with finely chopped toasted almonds if desired.
Storage
Refrigerate the frosted cupcakes in an airtight container for up to 3 days.
Remove from fridge 20–30 minutes before serving for best texture.
Notes
For a brighter peach flavor in frosting, reduce powdered sugar and stir in 1–2 tablespoons of peach puree. Keep butter and eggs at room temperature for better emulsification.