Why are Benei Noach obligated in their Seven Mitzvot if they never said Na'aseh veNishma?
Because it wasn't put to them as a choice, but unilaterally imposed on Noach and his descendants by G-d. Being human carries basic obligations, because humans have abilities animals do not and a corresponding charge that animals do not: basic maintenance of the world (the Jewish understanding of the word often mistranslated to English as "subdue").
It seems from the gemara (Hullin 92a bottom line) that they did indeed accept commandments upon themselves. The gemara uses the phrase:
שלשים מצות שקבלו עליהם בני נח
Thirty commandments which Bnei Noach accepted upon themselves.
Because it is a much more basic covenant than that which exists between G-d and Bnei Yisrael. The latter is based on mutual responsibility and chosenness. G-d chose Bnei Yisrael for a particular mission. He also chose them as His protected people because of the actions of their fathers. If Bnei Yisrael abide by G-d's commandments, which are set up in such a way as to mark them as a priestly and princely nation, with heavy responsibilities as well as certain privileges, then G-d will protect them in their land and provide them with their needs. But they have to be worthy of this role.
Contrast that with the covenant between G-d and Noaḥ. G-d promised not to destroy the world. Bnei Noaḥ just have to be decent people (from the Biblical perspective, the 7 Noahide Laws are a moral code, not a legal one like the Torah - this includes recognizing and not cursing G-d, btw). All Bnei Noaḥ must be worthy of, then, is not to be destroyed. And since it was a unilateral covenant, even if they become depraved again, G-d promised not to destroy the entire world as a result. Sedom and 'Amorah demonstrate, however, that micro-level destructions for depravity are still fair game.