In the first mutate, you set result to stolenK if the test was met. In the second mutate, which should be in the form of
mutate(result = ...),
mutate(result = ...)
you applied a different test, which the test for stokenK will fail, yes? So it defaults to 0.
what you want is something like
mutate(result = ifelse(Called_Strike == 1 & Out_zone == 1), "stolenK", 0) %>%
mutate(result = ifelse(result != "stolenK & Ball == & In_zone == 1, "lostK", 0)
It's always hepful to include reproducible example, called a reprex with a short data sample to help responses to understand question and clarify answers.