Why aren't the CVR and FDR required to store data for a longer period?
CVRs typically store two hours of voice recordings (source). 

It simply wouldn't serve any purpose to store longer recordings.
It is extremely rare for an emergency to last for such an extended time.
Qantas 32 was one of the longest emergencies in recent memory, and it was only 1:45.

The MH370 flight was longer, of course, but it still hasn't been recovered.

While I'm sure it is technologically possible to record more voice data, that would primarily record innocuous and routine conversations among the pilots.  

I suspect that the pilots, and their unions, are reluctant to have their mundane and irrelevant conversations recorded and inspected.