Python 3, 130, 128, 127, 126126, 125 bytes
from random import* d,c=1,'Grey Red Orange Yellow Green Blue Indigo Violet'.split() while d!=c[0]:d=choice(c);print(d+' duck'd,'duck') -1 by @ElPedro!
-1 by me
-1 by @Bubbler!