g | x | w | all
Bytes Lang Time Link
527Google Sheets250504T212224Zdoubleun

Google Sheets, 527 bytes

=let(y,year(A1),m,month(A1),d,day(A1),f,lambda(a,b,if(b,mod(a,b),a)),i,f(f(f(y*365+m*31+d,d),f(y,f(d,y)))+d+(2+m)*y,20),t,index(split(tocol(split("Little1Bomb0Magnetic1Speaker0Gentle1Mission0Enough1Feather0Efficient1Arrow0Inefficient1Action0Grand1Focus0Cute1Animal0Gaming1Computer0Important1Cloud0Master1Sun0Light1Mouse0Heavy1Wine0Hard1Cake0Soft1Money0Easy1Panel0Awesome1Diamond0Real1Chair0Dirty1Wall0Fake1House",0)),1)),index(t,i+1,1)&" "&index(t,f(f(f(f(i*i*d,y),1000)*d*f(m,d),d+y*m)*y*f(y,10)*f(y,13)*d+f(y,m*d)+d,20)+1,2))

Straightforward implementation of the "algorithm" presented in the question, ignoring lack of clarity in operator precedence. Added a lambda that gets a when b == 0 and mod(a, b) otherwise.