You can use the AND operator, &, to express the logic.
income.type <- case_when(dataset$income <= .25~ 1,
dataset$income > .25 & dataset$income <= .5 ~ 2,
dataset$income> .50 & dataset$income <= .75 ~ 3,
dataset$income > .75~ 4=)
Notice that I changed the comparisons. You should not have a condition for == 0.25 and another one that starts with >= 0.25. Those will both be TRUE for values of 0.25. I merely guessed at a possible arrangement of the logic and you should change that to whatever is correct for your situation.