Why not shaam ko?
shaam ko should be correct too.
Why no होती here?
You can say har shaam but not har dopaahar?
subah = morning, dopahar = afternoon, shaam = evening, raat = night.