How to efficiently compute the exact percentage of non-unique k-mers in a genome for given k?
You can do all of that with khmer. For example, abundance-dist-single.py produces a file with columns: k-mer abundance, k-mer count, cumulative count, and fraction of total distinct k-mers. So for question 1 you would sum column 2. For question 2 you would just get thek-mer countassociated with ak-mer abundance` of 1.

That package also provides a python API (see the read the docs link above) if you need to customize things more.