I think we are closer than we think.
The problem is that all voice control up until now is a closed app with simplified intents.
In my opinion what we need is a programming language whose REPL UX is voice-oriented, that eases the separation between using and extending the system. Prolog or a lisp could be quite near but we would require some changes such as: syntax easily read (:- in prolog is not very good), the ability to manage ums and ahhhs, the ability to “play” or “test” with functions through voice, etc.