В данном случае правильным будет использование конструкции "have been discussing". Фраза "They have been discussing this problem for hours" указывает на то, что обсуждение началось в прошлом и продолжается до настоящего момента. Это подчеркивает длительность действия.
Если нужны дополнительные объяснения по использованию времен в английском языке или другим аспектам грамматики, буду рад помочь!