I guess that you need to detach at least the desk process with & so that it gets backgrounded and the main script can exit. Otherwise your loop keeps running and this main script does not complete and exit.
Additionally, startup priorities are evaluated alphabetically. 100 equals 10 in practice. You want 99. Otherwise you run much too early.
EDIT:
I also wonder that you use hostapd_cli instead of hostapd. hostapd_cli is usually used for interacting with already running hostapd. So I am not quite sure what you are trying to do here. Add a trigger for something?
If you google similar topics here and in Openwrt forum, you will notice that there is no universal better cure. Some services have rather long internal init times, so there is no guarantee that the previous service is already available.
You can see the long init time of hostapd also in the system log. It takes rather long, before the wifi interfaces are ready.
I'm also trying to use hostapd_cli to call a script when a event occurs. I have two wi-fi interfaces and would like the demon to report on both. I notice you use -i wlan0-1 did this make the demon report on both wlan0 and wlan1?