James Coppinger gave Rovers the perfect start when he fired them ahead in the 14th minute, the long-serving midfielder curling a shot into the far corner after some smart work from Brighton loanee Taylor Richards.
But Luke McCormick equalised for the home side eight minutes before the break with a clinical strike into the far corner before bagging a second after the break to see Rovers suffer a ninth defeat in their last 14 matches.
“You’ve got to stay positive,” said Butler. “People have written us off now, but I’m not going to give up, not a chance. It’s difficult when a manager leaves. It’s hard to put my finger on, but I’d like to think the players are giving their all. It’s not over yet.”
Brandon Hanlan came close to doubling the hosts’ lead shortly after their equaliser but found the side netting and was later denied by a block from Reece James.
McCormick turned the contest on its head when firing home just before the hour mark, but Rovers nearly equalised in the 66th minute when Feijiri Okenabirhie’s shot was blocked on the line by Jack Baldwin, before Anssi Jaakkola produced a fine save to block Omar Bogle’s header.
Bristol Rovers: Jaakkola, Williams, Baldwin, Harries, Walker (Ayunga 57), Martinez, Upson, McCormick, Leahy, Westbrooke, Hanlan. Unused substitutes: Little, Day, Daly, Hare, Tutonda, Oztumer.
Doncaster Rovers: Blacombe, Horton (Greaves 82), Anderson, John, James, Smith, Okenabirhie, Richards (Bostock 68), Coppinger (Inacio 68), Lokilo, Bogle. Unused substitutes: Robertson, Jones, Amos.
Referee: Antony Coggins.