How can this single-prop drone maintain stable (rotating) attitude and position?
You can read all about it in their paper (which actually reads quite nicely)

http://flyingmachinearena.org/wp-content/publications/2016/zhaIEEE16.pdf

First, the parameter space (so, location of propeller, mass, etc) was searched for a relatively stable solution.

Then, stability is achieve through active control, so indeed by varying propeller thrust rapidly. This is done in a few cascaded control loops; so an 'outer loop' that has a position setpoint, which is then translated to a desired attitude. This attitude is then achieved by varying thrust throughout the rotation.