During the Pesach seder, but not during the rest of Pesach, we say b'rachot for the mitzvot of matzah and maror. (I mean the "asher kidshanu b'mitzvotav" b'rachot.) So it seems that we are only commanded in this for the night of the seder. But in the Diaspora we have two seder nights and we say these b'rachot both nights. Doesn't that mean that one of those nights is the wrong time and thus we're saying blessings in vain? Why is this ok?
Good question. The same question comes up with all the blessings regarding a second-day yom tov on the Diaspora; e.g. kiddush and shehechiyanu on the second night of Sukkot, Shavuot, and Shmini Atzeret.
Until the Jewish calendar was fixed in place (around the year 500 or so), those in the Diaspora were keeping two days, going "maybe yom tov is really Tuesday, maybe it's really Wednesday" (or whatever days of the week). However, past that point in time, the two-day-Diaspora practice became established rabbinically as the formal requirement -- "keep two days as full yom tov in the Diaspora."
So we say all the yom tov blessings because we're obligated, rabbinically, to treat it as full yom tov (or as full seder).
As for blessings in vain, the problem is saying a blessing that's not needed. Once it was established as obligatory, then it's no longer in vain! (For instance, using G-d's name for the sake of teaching how to do prayer is not "in vain", and I know of one cantorial recording that in fact does so.)
After the destruction of the Second Temple (70 C.E.), the extra day of observance by the diaspora - including its prayers and rituals - was added to avoid possible desecration of the holiday due to the uncertainty of the lunar-based Jewish calendar. The appearance of the New Moon needed to be officially announced once witnesses testified to its arrival. In the transmission of this information from the source in Jerusalem to distant places in the diaspora - not an easy task to do two millennia ago - errors could occur; and hence the additional day along with its prayers and rituals.
first of all only bircat hamazon and cohanim are deoraita, all the other berachot are miderabanan. one could ask how come we say berachot at all on the second day if it is miderabanan or even say that one of the two for certain is not the right one so safek berachot leakel. but all the command to the berachot is miderabanan.
about the asher kideshanu part, the same kind of question could be made about any mitsva miderabanan like hanuka. and the fact is that we do say asher kideshanu for misvot miderabanan.