I see the problem you are pointing out with the example, but I see it as more of a problem with how the demo implements the feature, rather than an outright fault with the library.
A way to get around this problem within the demo, would be to NOT pass the argument 'shipping' or 'tax' to the location_zones() function for both select menus. This would mean that all zones would be returned for both select menus.
Remember that the demo is simply an example of how you can use the library, not necessarily how you have to use the library.
If you have an alternative suggestion to the demo implementation, I'm willing to listen.