Yes, every unique label value creates a new timeseries, i.e. a unique line on a graph.
There are two types of labels - monitored resource labels and metric labels. Whereas the resource labels uniquely identify the resource being monitored, the metric labels are auxiliary information by which to break-down or group-by/aggregate the metric data. The cardinality of both types of label values contribute to the total number of timeseries in use.
The "global" monitored resource is not a chargeable resource, i.e. you don't get charged $N/resource. Chargeable resources are listed in https://cloud.google.com/stackdriver/pricing#chargeable-resources.
If you have 100 chargeable resources in a given hour, you get an allotment of 500*100 = 50K timeseries for user-defined custom metrics. The allotment is shared for all custom metrics. The number of timeseries exceeding the allotment in that hour is the "time series overage" which has a separate cost per timeseries as listed in https://cloud.google.com/stackdriver/pricing#metric-allotments.
As noted in the pricing page, allotment limits and overage charges for user-defined metrics is currently not effective (postponed until further notice).
Also note that pricing is subject to change in the future.