Ash lets his own Pokemon choose when they want to evolve, not by level. We learned this way back in Vermilion City, Kanto when he fought Lieutenant Surge, and he lost. He offered Pikachu a Thunderstone to evolve but Pikachu declined.
Quite Apparently, Snivy and Oshawott do not want to evolve yet.
Plot Quotes from Bulbapedia on that episode:
"Later, at the Pokémon Center, Pikachu awakens, and Ash is glad to see that it is okay. Pikachu, however, is upset to have been beaten so badly by Raichu. Ash is convinced they can win if Pikachu tries harder, but Misty opines that Pikachu was already trying as hard as it could the last time.
Nurse Joy interrupts, saying there might be a way Pikachu can win. She walks in, revealing that she has come across a Thunder Stone. With it, Ash could evolve his Pikachu into a Raichu as well. Brock warns him to think hard about this, because once he evolves Pikachu, there's no way to change it back.
Pikachu stands up and whacks away the Thunder Stone with its tail. Pikachu then goes into a tirade, which moves even Meowth to tears. Meowth explains that Pikachu doesn't want to change; it wants to battle Lt. Surge again, but as a Pikachu; it wants to win in the name of all Pikachu everywhere. This moves James to tears, who says that it is beautiful."