"They will have been happy together" does sound weird without any other context. But if you say, e.g., "When they'll get their first child next year, they will have been happy together for five years," it starts to become manageable. ;)
The first sentence is future perfect tense (indicative mood), in stark contrast to perfect tense (conditional mood) of the second sentence.