Check out the source for your page and towards the bottom you will see some JS calls to create the ModalPopupBehavior's. This really just wires up the open and close controls for the ModalPopup so not much more than simple JS event handlers for the appropriate clicks.
I certainly share your use case of having multiple controls that can open a ModalPopup but for me creating multiple extenders was OK and really no burden other than a few lines of code. If I wanted to programatically limit what the UI needed to do, I just make some controls invisible which also disables any associated ModalPopup. I also do stuff with the ModalPopups server side occasionally when the logic gets really tricky although that obviously incurs a performance penalty, ie. you can always call Show() and Hide() server side.
A final option that I can think of is to extend the ModalPopup and allow for multiple target controls to be assigned although this seems like a lot of work for something that can be achieved via other methods.