This is very common on the 03-06 Silverados. The cause is the motors behind the gauges are failing, they all go out eventually. You can get it repaired here - www.drspeedometer.com and there's a DIY guide here - www.howtorepairmyinstrumentcluster.com
Same thing happened to me. I ordered the motors and fixed it myself. Took longer to get the cluster out the dash. Now I am fixing speedos on the side. If you haven't gotten fixed yet you can send it to me and I will have fixed and sent back to you the same day.
RepairPal Certified shops can diagnose and repair your 2004 Chevrolet Silverado 1500. They provide transparent pricing with a minimum 12-month or 12,000-mile warranty on repairs and services.