The word "Нужно" can be two different things: it could be invariable and be used together with a verb; or it can be an adjective, in which case it would be the neuter form of it. In this sentence, you need the plural adjective to talk about "tea" AND "coffee". Notice that "tea and coffee" are the subject in the Russian sentence, which are "necessary" "to her".
Together with a verb: "ей нужно уйти" ("she needs to leave", or more literal "to her is necessary to leave"). With this use case, it will always be "нужно" (invariable).
As an adjective, with a neuter noun like "молоко": "ей нужно молоко" ("she needs milk" or, literal, "to her is necessary milk").
If you had a masculine noun instead, you'd use "ну́жен": "им нужен компьютер";
with a feminine, use "нужна́": "ему нужна машина";
with a plural (as the sentence we are discussing), use "нужны́".
Hi. (not a native speaker) They don't have a big difference in meaning. They are almost the same but The only difference between them is that Надо is only used for verbs. (Мне надо приготовить ужин/ нам надо идти на работу) But нужно/нужен/нужна/нужны can be used both for verbs and nouns. Тебе нужна машина. You need a car. Ему нужен телефон. He needs a phone.
In nominative. In the Russian sentence, "tea and coffee" is actually the subject of the sentence.
Think of "нужны" as the adjective "necessary". Then you have "tea and coffee are necessary to her", which makes it obvious why it's "ей" (dative) and not "она", and why "нужны" (plural) instead of "нужен" (or "нужно", which is actually the adverb and neuter adjective). To see it more clear, you can change the word order: "Чай и кофе нужны ей" (maybe it doesn't sound very natural but you get the point).