What you need to to is start redirecting his attention. When my nursing toddlers got to be about that age, I found I had to keep them more physically active instead of having them "sit with me", since up to that point, they identified that with nursing. Also, you can lay down on the floor, on your stomach, with him and play, which prevents him from getting to the boobs lol :)
Don't ever be afraid of saying "no" to nursing him at this point, it's your body, and you get to define the boundaries of when you want to nurse him. But you have to redirect him to do something else. My kids all had binkies, so I allowed them to use them until about 3yo for self soothing, but if your son doesn't use binkies, it's time to find something else that can help him self soothe (while he's with you!) so he becomes less demanding of your body.
I was not a child-led weaning mom. I wanted to nurse as long as possible, but for my own sanity I had to set limits about when they nursed. I stopped all night nursing at 18mo, even though they all co-slept with us until 3yo. By setting that limit, they began to respect my "no" answers without question. I still nursed for comfort (what a blessing it was to still be able to nurse if they hurt themselves!) but not because they were bored. They nursed before going to sleep, but not when they woke up (after 18mo), I would let them nurse after breakfast. Sometimes if I didn't want to nurse, I would just tell them there was no milk right now, and then redirect.
You may not be able to sit "with" him for a while, so that he can begin to understand that you will be saying "no" sometimes. But getting him some kind of Lovey might help too, a stuffed animal, a special blanket, something sensory he can rub on his face or squeeze in his hand.
Also, remember that this is a phase, it will pass. You don't need to wean and you can go on to nurse for as long as you both are comfortable with it. Just remember you can, gently and lovingly, say "no" at this point, you will simply have to redirect him.