How to apply a function to one part while keeping the rest

MapAt[FactorInteger[#][[;; , 1]] &, t1, {All, 2}]

MapAt[Map[First] @* FactorInteger, {All, 2}] @ t1
{{2, {5}}, {3, {3}}, {4, {17}}, {5, {3, 11}}, {6, {5, 13}}, {7, {3,  43}}}
SubsetMap[#[[All,All,1]]& @* FactorInteger, {All, 2}] @ t1
{{2, {5}}, {3, {3}}, {4, {17}}, {5, {3, 11}}, {6, {5, 13}}, {7, {3,  43}}}
{#, FactorInteger[#2][[All, 1]]} & @@@ t1
{{2, {5}}, {3, {3}}, {4, {17}}, {5, {3, 11}}, {6, {5, 13}}, {7, {3,  43}}}
Module[{t = #}, 
   t[[All, 2]] = FactorInteger[t[[All, 2]]][[All, All, 1]]; t] & @ t1
{{2, {5}}, {3, {3}}, {4, {17}}, {5, {3, 11}}, {6, {5, 13}}, {7, {3, 43}}}

Rule approach starts with

rule1 = {x_,y_} :> {x, First /@ FactorInteger[y]};

and then

Replace[z1,rule1,{1}]

gives

    {{2,{5}},{3,{3}},{4,{17}},{5,{3,11}},{6,{5,13}},{7,{3,43}}}