Preheat oven to 350°F (175°C) and line a 12-cup muffin tin with paper liners.
In a large bowl, whisk together the flour, sugar, baking powder, baking soda, and salt.
In a separate medium bowl, whisk together the soy milk, vegetable oil, lemon juice, lemon zest, and vanilla extract.
Pour the wet ingredients into the dry ingredients and whisk until just combined, being careful not to overmix.
Divide the batter evenly among the cupcake liners, filling each about two-thirds full.
Bake for 18 to 22 minutes, or until a toothpick inserted into the center comes out clean.
Transfer cupcakes to a wire rack and allow to cool completely before frosting.
To make the frosting, cream the vegan butter with a hand mixer until smooth.
Gradually add powdered sugar, lemon juice, and lemon zest, beating until light and fluffy.
Pipe or spread the frosting onto the cooled cupcakes.