In a large bowl, beat the butter and both sugars with an electric mixer at medium-high speed until light and creamy. Add in eggs and vanilla extract and beat until combined.
In a medium bowl, stir together hazelnut flour, all-purpose flour, baking powder, and salt. Add this to the large mixing bowl of wet ingredients and mix on low speed until combined.
Turn the dough out onto a sheet of plastic wrap and divide the dough in half. Press each half into a flattened disc, wrap in plastic wrap, and refrigerate for at least 2 hours or overnight.
For the bottom cookies
Preheat oven to 350°F and line two baking sheets with parchment paper.
Take one disc of dough out of the fridge and let it sit at room temperature for 5-10 minutes before rolling out.
On a floured surface, roll out one disc of dough to ⅛ inch (3mm) thick. Using a 3-inch round cookie cutter, cut out cookie rounds that will become the bottom cookies.
Carefully transfer cookies to a baking sheet, leaving about 1 inch in between cookies. Re-roll the scraps and repeat.
Bake the bottom cookies for 10 minutes until the edges are lightly browned. Let cool on a wire rack.
For the top cookies
Repeat steps 2-4 with the other section of dough as above.
After transferring the cookie rounds to the baking sheet, With a mini cookie cutter in the shape of your choice, cut out the middle of each cookie round. Lift up the cut out with a toothpick and bake them on the same sheet or re-roll as scraps.
Bake the top cookies for 9 minutes until edges are lightly browned. Let cool on a wire rack.
Assemble the cookies
Invert the bottom cookies and spread 1-2 teaspoons of hazelnut spread onto each cookie.
With a small sieve, dust the top cookies with powdered sugar. Sandwich a matching top and bottom cookie together and press together gently.