A developer that always leave at exactly 17.00 and adamantly refuse to come in on a Saturday, gives a very clear signal that they don't give a shit about the company, the product or the team. They're there to get paid.
While most employers realize that your work isn't (or should be) your single burning passion, it is very negative for team morale when one of the guys always flakes out when the clock hits 17 regardless of the fire in the kitchen.
I knew a developer who always left at exactly 17.00, because "that's what they are paying me for". On several occasions, he deployed breaking changes to production five minutes before leaving. Other devs had to come in and work very late to get the system back online. While he is technically in his right to leave at 5, he causes his team much grief and as such is not an asset.
The other side of the coin is that lots of software companies, really has little to no control over software development. Especially startups run by young, inexperienced guys rarely have any idea what they are doing. This is a company where crisis' occurs daily or weekly instead of maybe once every couple of months.
They make up for this by rampant overtime, and excuse this with BS about being dedicated and a team player. You know you're in such an organization if they talk about how "that's what the industry is like".
Your organizations work culture seem like that - very long hours and (seemingly) no extraordinary reason for coming in on Saturday.
If that's the case, then leave. There's not much that can be done except a total change of top management.
But if it's a rare occurrence that they call you in on Saturday and there is a good explanation for it, then buckle up and help your team mates.