Two other reasons:
Your blood is being replenished constantly. Old blood cells are broken down by the liver even as new blood cells are generated by your bone marrow. When broken down, the substance that makes blood red is called bilirubin, and when broken down, bilirubin is yellow. This is most obvious in cases of jaundice, where the liver’s ability to break down blood cells is diminished (in cases of old age or liver disease) or not fully functional yet (as among newborn babies). The skin being the #2 backup to the liver begins to turn yellow, signifying that sunlight is helping the skin break down blood cells.
The second reason is dehydration. The less water you consume, the more concentrated your urine becomes. Normal, healthy urine, showing an adequate amount of water in your body, should be nearly colorless. The more intense the yellow, the more dehydrated you are. Remember, your body is primarily water and salt. You need to drink not less than 80 ounces of water daily, and I do not mean liquid, I mean H2O.
(For those seeking to lose weight, increasing water intake up to half one’s body weight in ounces can enable one to lose pounds, even changing no other factor in one’s lifestyle.)
Good reference book is called Your Body’s Many Cries for Water.