Preheat the oven to 350°F. Line an 8×8-inch square baking pan with parchment paper, leaving an overhang for easy removal. To make the streusel, mix together the flour, brown sugar, cinnamon and salt in a small bowl. Add the melted butter and stir with a fork until crumbs form. Set aside.
In a large bowl, whisk together the flour, baking powder, baking soda, pumpkin pie spice, cinnamon and salt.
In a separate bowl, whisk together the eggs, pumpkin purée, maple syrup, cane sugar, Greek yogurt, melted butter and vanilla until smooth.
Add the wet ingredients to the dry ingredients and gently stir just until combined. Avoid overmixing. The batter will be thick but spreadable.
Spread the batter evenly in the prepared pan. Sprinkle the streusel over the top, breaking up any very large clumps.
Bake for 35 to 40 minutes, checking at 35 minutes. The center should spring back lightly when touched, and a toothpick inserted into the cake should come out clean or with a few moist crumbs, without wet batter. If the topping browns before the center is done, loosely tent with foil. Continue baking as needed until the center is cooked through.
Cool in the pan for 15 to 20 minutes. Meanwhile, whisk together the powdered sugar, vanilla and 2 teaspoons of milk until smooth. Add more milk a little at a time as needed.
Drizzle over the warm cake, or cool completely first for more defined icing lines. Slice into squares and serve.