Preheat the oven to 350°F. Line 2 cookie sheets with parchment paper.
To make the dough: In the bowl of a stand mixer fitted with the paddle attachment, add the butter, powdered sugar, and vanilla extract. Mix on low until combined and you don’t see powdered sugar anymore, there will still be a few chunks of butter but that is okay because it’s very soft.
Add the flour into the butter mixture and mix on low until combined and smooth. The dough should feel like play dough in your hands.
Using your hands, form the dough into 30 balls and place them on the prepared cookie sheets. Flatten each one slightly so they are about 1 ¾-inch in diameter.
Bake for 15 to 17 minutes until golden brown. Allow to cool completely on the cookie sheets.
To make the filling: In the bowl of a stand mixer fitted with the paddle attachment, add the powdered sugar, butter, milk, and vanilla extract and mix on low until combined. Speed mixer up to high for 1 to 3 minutes or until light and fluffy. Make sure to scape down the sides of the bowl and mix again to ensure you have a smooth filling. Transfer to a piping bag with tip #864.
Turn over every other cookie so they are all paired. Pipe a swirl of filling onto each cookie, starting at the outer edges and swirling into the middle of the cookie, and sandwich them together.
Store in the refrigerator for up to 2 weeks.