Why am I allowed to listen to music on the night of Lag B’omer, yet I have to wait for the following morning, or the day of lag b’omer to shave and take a haircut? Why can I not shave the night before if music is allowed then?
Rabbi Dovid Feinstein did in fact consider it a contradiction and he used the fact that people celebrate with music at night as a proof that the majority begin their celebration of the holiday on the eve of Lag Ba'Omer.
This was in fact the practical opinion of his father, Reb Moshe Feinstein as well, see Shu't Vidibarta Bam 143, who held the reason to be able to shave was not miktzas Yom, but rather since Lag Bi'omer is treated as a holiday. There he speaks at length and quotes the Igros Moshe in O'ch 1 #159 and Chassam Soffer in O'ch #142 who want to assume weddings are stricter than haircuts in regards to this, and the prevailing minhagim to allow weddings should allow haircuts as well, although Reb Moshe agrees the M.B. and the Elya Rabba he is ruling like can say an opposite svara that the allowance in the morning is miktzas yom kikulo.
I would add that up until recently, almost anyone engaging in music on the night of Lag Bi'omer was someone who didn't shave, so it probably never dawned on him he was ruling like the achronim who say the various is done by the time tachnun is no longer said on the eve of Lag Bi'omer. That and in all likelihood those people hadn't said tachnun in a few days since it is the week of Hod. Only more recently have people who shave started to join in the musical reveries on Lag Bi'omer night, not realizing if they wanted to keep strictly to the Mishna Berurah, they really shouldn't.
The celebration of Lag b'Omer and the ending of the Omer mourning period on the 33rd are not necessarily the same concept. Most Sephardim do not cut their hair until the 34th but still celebrate on the 33rd. And some Ashkenazim observe the mourning period from Rosh Chodesh Iyar onwards, yet still celebrate on the 33rd. The core avelut practices of the Omer are not taking haircuts and not getting married. The Shulchan Aruch and Rema don't even mention not listening to music. Orach Chaim 493 (to be fair, the Mechaber thinks it's asur to listen to music year round). The general rule of avelut (mourning) is that mourning ends the morning of the last day of mourning because part of the day (in this context, daytime hours) is like the whole day. So the prohibitions on cutting hair and getting married remain in effect until the avelut ends on the morning of the 33rd or 34th. However, not listening to music during sefira is a later and less absolute custom. The custom not to listen to music is relaxed on the 33rd because of the hilulah of Rashbi. See Hazon Ovadia on Hilchot Yom Tov.
Also, although the common custom is that music and hair cuts have different time periods, not everyone agrees. There are acharonim who say you can get a haircut on the night of the 33rd as well, see MB 493:11. Conversely, I have seen some discussion that maybe you shouldn't listen to music at night, but I haven't seen a posek who says that inside. (This article cites Shevet HaLevi 8:168 for that proposition)
The part I cannot explain is why the Rema writes that those who observe sefirah from Iyar through Shavuot are allowed to cut their hair on Lag b'Omer. They are still in the avelut window. And if it's because of Rashbi, why they can't cut their hair at night? Perhaps you could say the simcha of Lag b'Omer predates the custom of avelut during the Omer and therefore when the mourning customs arose they carved out Lag b'Omer, and as for timing of haircuts they wanted to follow the same customs as other mourners and wait until the morning to avoid confusion. But that's just a theory.
As far as I can tell, both are technically not appropriate to do until the day time, but we make an exception for music and permit it at night because it is observed as a festive day celebrating Rabbi Shimon Bar Yochai. So we permit appropriate music in order to celebrate the occasion. Otherwise, it is forbidden to listen to music until the day.
All of the above is for Ashkenazim. For Sefardim, one may not shave until the day of the 34th (following the Shulchan Aruch), and one may not listen to music (except to celebrate Lag Ba'Omer) until then either (provided they are relying on the leniencies to actually listen to music at all anytime of the year).
The reason is because of the principle of "Miktzat Ha'yom Ke'kulo" (a bit of the day is like the whole day). This means that the day of Lag Ba'Omer is supposed to be "the whole day", but we consider part of the day as the day due to "Miktzat Ha'yom Ke'kulo". So therefore we can start "early" and listen to music/shave even on Lag Ba'Omer. However, and this is the key point, "Miktzat Ha'yom Ke'kulo" only applies to daytime, not night. So the night is still "too early" for these things. For more information on this see Hazon Ovadya, Yom Tov, p.g 261.
Big thanks to Rabbi Eli Mansour for his shiur on this!