Sanji's a protector.
The difference is the motivation behind these. He used to throw his life away rather quickly over some sense of debt.
Think Baratie, how he wanted to let himself get killed by Pearl because he thought he owned Zeff his life.
Think Thriller Bark, how he wanted to throw his life away for Zoro's dream, but not for his own.
How WCI brought up all his trauma and why he feels this need to devalue his own life and consider others' more important.
What needs to change is his perspective about it. He shouldn't throw himself in dangerous situations "because his friends lives are more important". He needs to do it because he's a shield for the SHs, a King who protects his people.
As Zoro is the "samurai" type, serving a lord by striking down his lord's enemies (the sword), Sanji is more of a Knight protecting the people (the Shield).
Suddenly his scene of taking the S-Shark punch without flinching and talking about the PoL there makes a whole lot more sense.