To get those results, you apparently figured out that the WORDFILE property is the tilde path and name of the text file containing your search words. The expectation, and my testing place this words file on your local drive, though the name and location is for you to decide. The tilde is simply the operating system's abbreviation for /Users/yourname. I don't know of a limit in the quanta of search words you can use, though I expect far larger than you would want to type, or wait for processing to complete.
As I mention in the code comments, I am using Set data structures which inherently remove duplicates, so words that may occur multiple times on a page only reflect once per page in the printed results. Preview will show you those occurrences during the individual word search.
One aesthetic that I don't know if can be fixed is that when the page numbers wrap, they do so under the words, rather than indent under the preceding page numbers. In Python 2, there is a textwrap package included that allows one to control indented line wrap in the print statement, but one would have to write this in either the Zsh shell, or AppleScript/Objective-C and life is too short.