The OP is proposing as a possibility: "we could require user to have only one if __name__ == '__main__':". In that case, functionality will be reduced, won't it?
I don't support the proposal. However, I've also never written a script with multiple 'if __name__ == __main__' lines, and I think if I saw one I'd complain in code review.
It's hard for me to imagine how multiple entry point to a script can be a good thing.