Well, it probably won't happen by magic.
Reduce feeds down to 3 a day after meals (or whatever suits) and if he asks between those, say 'we'll have some after lunch' etc.
Sleepwise, don't let him fall asleep latched on. Break the latch with your finger when he's drifting off. If he wants to latch back on, let him but break it again when he seems to be going to sleep. Rinse and repeat. You need perseverance but he will eventually go to sleep.
Alternatively, if you have a partner then you sleep elsewhere for a few nights while your partner co-sleeps so milk isn't an option.
Really in your shoes I'd say it's time for him to be in his own room, feed in there then use some form of night training to get him used to being on his own, or some people set up a floor bed so they get child to sleep in there then go back to their own bed.
He might be pissed off at you for changing things around, but you need to hold your nerve and see it through. Being annoyed is not the same as being in distress. Children that age change habits within a few days.