A dirty alternative:
ComapApplyPureFunction[funcs_?VectorQ, pf_Function] := Module[{strpf},strpf = StringDelete[ToString[pf], "&"];ToExpression[#1 <> #2 & @@@ Thread[{ToString@#2@#1 & @@@ Thread[{strpf, ToString /@ funcs}], Array["&" &, Length@funcs]}]]]
Testing ComapApplyPureFunction
:
ComapApplyPureFunction[{f1, f2}, Exponent[#, Variables[expr]] &](*{f1[Exponent[#1, Variables[expr]]] &, f2[Exponent[#1, Variables[expr]]] &}*)
Addendum:
Perhaps using Function
instead of an anonymous function will allow you to implement what you are looking for in a more concise way. The following example can be useful:
expr = x^2 + 2 x + 1;With[{f1 = #^2 &, f2 = #^3 &}, ReleaseHold@#2@#1 & @@@ Thread[{HoldForm[Function[x, Exponent[x, Variables[x]]]@expr], {f1, f2}}]](*{{4}, {8}}*)