When counseling people who are struggling with the behavior of their partners, I always default to something that someone told me a long time ago, in a completely unrelated context (business), but it is something that I use as the core of my relationship philosophy:
“You will never get what you deserve. You will never get what you want. You will never get what you need. You will only ever get what you negotiate for.”
When you assume a standard of conduct or manufacture a set of expectations for your partner without talking to them, regardless of why you assume or expect those things, you are setting yourself up for disappointment. If it’s important to you that your partners do certain things, you have to ask them and get their agreement.
No one owes you anything except what they have agreed to. All of that baggage you have in your head that defines what a boyfriend/girlfriend/spouse/etc SHOULD do is all imaginary, and the other person can’t see it.
If it’s important to you, talk to them about it. If you are important to them, they will listen. You may not be able to get everything you want/need/deserve. But you will get more than if you say nothing.