Python 2, 123 122 118 114 Bytes
Man, I wish random
wasn't so expensive (and that we didn't have to filter for spaces). Anyways, here ya go:
from random import*
f=lambda s,n:(' '<s[0])*(s[0]+eval(('chr(randint(32,126))+'*n)[:-1]))+f(s[1:],n)if s[1:]else s