The Guerrero estimate of \lambda uses the seasonal period of the data. When you use
h02 %>%
features(Cost, features = guerrero)
the time index is available, so the function can determine the seasonal period.
But when you use guerrero(h02$Cost) the time index is lost, so it assumes that the data is non-seasonal and gives a different estimate of \lambda.
As @EconProf has already noted, the forecast and feasts package give different results due to the timing of the start of the seasonal period.