Why does Zeplin provide specs in Pixels instead of a responsive unit like percentages?
To say that a button is 40px wide and 20px height is not responsive. should I expect the developer to translate this into responsive % numbers?
I'm not sure that's a reasonable expectation. In so much as a button is often required to be a certain pixel size... just that that's pixel size might change depending on the screen size.
Most sites I have worked on have - generally speaking - percentage width containers, but fixed size elements (like buttons) although the specced sizes of those elements might be different on desktop or mobile.
To be clear I can imagine a scenario where a button might be required to be a percentage width (normally 100% I would imagine (of it's container)) but I can equally imagine a button that would be 100px round on any screen size. It's a mix and match.