Could be the instrument cluster... I have the same issue. I removed the cluster, opened it, sprayed it all with contact cleaner and fixed it for a while. Came up again about a month later, so this time I soldered the connector... this might fix it, if not, second hand cluster will be the next option.
I think the CANBUS runs through the cluster to get to the
ECU.. so that would explain all the random fault codes.