Simplify the code
☺lookMaNoLetters☺ = 1 ## & @@@ # & /@ # &;
☺lookMaNoLetters☺ @ mylist
{{y1 y2 y3, y3 y4 y5}, {w1 w2 w3, w4 w5 w6}}
Further variations:
☺lookMaNoLettersOrNumbers☺ = # ##2 & @@@ # & /@ # &;
☺ApplyTimesAtLevel2☺ = # ##2 & @@ ## &[#, {2}] &;
☺InCaseYouLikeInfix☺ = # ~ (# ##2 & @@ ## &) ~ {2} &;
☺IfYouLikeVerbose☺ = Map[Map @ Apply @ Times]
You can use as many @
s as you like:
☺♬♪♫♪☺ = ## & @@@ (## & @@@ ## & @@@ 1 ## & @@@ {##} & @@@ {##} & /@ #) &;
☺♬♪♫♪☺ @ mylist
{{y1 y2 y3, y3 y4 y5}, {w1 w2 w3, w4 w5 w6}}
Since you appear to want to multiply the list only when all of its elements are atomic, how about just
mylist /. {s__?AtomQ} :> Times[s]
It appears to be the most direct translation of your thought.
Times @@@ # & /@ mylist
(* {{y1 y2 y3, y3 y4 y5}, {w1 w2 w3, w4 w5 w6}} *)