When they're really little, we're so afraid of harming their gentle spirits that it can be tempting not to say "no." Ever. Instead we redirect, or give two choices, or do something else that guides them into doing what we want them to do without having to say "no."
But being a parent is about teaching your child how to be a person in the world, and in order to have harmonious personal relationships and contribute to society, a person has to understand limits and boundaries and appropriate behavior. And the only way to learn boundaries and appropriate behavior is for loving adults to make and enforce age-appropriate boundaries from the time you're tiny.
So it's ok to say "no" when it's not good for your child to do something. Or even when you simply don't want your child to do something. It's ok to wean, to limit cookies or screen time or jumping on the couch, to force them to write thank-you notes, to give up their seats for older people, to let you eat your meal in peace. You don't have to justify saying "no," either, although you'll do more teaching if you tell them why so they can start sorting out what is and isn't acceptable. Kids need boundaries. They'll push against them, for sure--that's what growing and developing is for. But if you don't enforce any boundaries they won't have any to push against, and they won't develop the way you want them to.
So say "no" with love, and stay firm, and your kids will grow up with healthy senses of themselves in the world.