"Yesterday night" in the U.S.A. marks you as a foreigner. We always say "las' night." My
ESL students always say "yesterday night." As for tomorrow night, if we say, "Monday night" the person would respond, "Tomorrow?" I don't know of any option for tomorrow nor why we always say last night. It is possible, but pretty far fetched, that because we have a tendency to shorten everything, we prefer the shorter "last" to the longer "yesterday"-? However, we DO say "yesterday afternoon" not "last afternoon." None of my etymology or
ESL books address this. Now I'm hooked on finding an answer. I always tell my students that U.S. Americans usually take the path of least resistance.