wxPython is an event driven environment. Your event handler gets called when someone presses the left mouse button, and until the event handler finishes no other events will get through to your program. Your program has no means of becoming aware of the release of the button since all new events are stuck in a queue waiting for your handler to return. In general in event handlers it is dangerous to use anything resembling an infinite loop.
The solution is typically in several parts: (1) set up a timer to send periodic events but don't start it yet. (2) In your init_click_handler you start this timer and return. (3) Write a timer event handler where you "Do something" once per event. (4) When you get a EVT_LEFT_UP you stop the timer (another event handler), or alternatively you can check LeftIsDown() within the timer event handler and stop the timer when it's False.