A postdoc makes something close to the median wage. While not great, it's enough that people in general are expected to buy homes and start families with incomes like that. You can't reasonably expect more from an early career job that doesn't produce anything with a direct monetary value.
A PhD student earns much less, because the rest is used to cover tuition. And that is the root issue. Neither the federal government nor the states pay universities to train PhDs. The tuition must be paid by the student or from another source. The former does not make sense if you are not rich. If tuition is paid from grants, stipends will be low, as funding agencies don't want to pay more for trainees than qualified researchers. And if the PhD student works as a part-time teaching assistant, undergrads are effectively paying their tuition and stipend. Raising undergraduate tuition fees to pay PhD students more would not be very popular.