It seems to be caused by the fact that async is (now?) a reserved keyword and can't be used as a variable name.
I was able to get webiopi to start by replacing the variable name async with async_ in the function runLoop in the file /usr/local/lib/python3.7/dist-packages/WebIOPi-0.7.1-py3.7-linux-armv6l.egg/webiopi/utils/thread.py . Function runLoop now looks like this:
def runLoop(func=None, async_=False):
RUNNING = True
if func != None: