CP-ABE Key generation random parameters In the key generation algorithm of cp-abe there are attributes: $x_1, x_2,...x_n \in \{0,1\}^*$ 

$r, r_{x_1}, r_{x_2},...r_{x_n} \xleftarrow{R} Z_p$ are chosen randomly to generate the private key $SK$ where.

$SK = [g^{\left(\alpha+r\right)/\beta},
g^r \cdot H(x_1)^{r_{x_1}}, g^{r_{x_1}}, ..., 
g^r \cdot H(x_n)^{r_{x_n}}, g^{r_{x_n}}]$

My question is, are those random $r's$ randomly chosen by the key authority each time a user requests a private key for certain attributes or is it generated once for all users and each user will be given the private key based on their attributes.

To be more clear assume user A claims attributes $x_1, x_2$ while user B claims $x_1, x_3$. They both at different times request a private key containing a component for attribute $x_1$. So is $r_{X_1}$ generated once for each user request or is it the same for both requests? Of course $g^r \cdot H(x_1)^{r_{x_1}}, g^{r_{x_1}}$ will be affected as well if they are different.
You're talking about the KeyGen algorithm of Bethencourt's CP-ABE. The scheme is described in general and this KeyGen algorithm is supposed to be executed for each user secret key request in full which includes choosing new $r_x$ values.
So, your (actual?) concern that different users who have the same attributes could collude is unfounded.

However, a key authority can add single attributes to an existing user secret key, but for this it is necessary to know $r$ (by storing it in an internal database) or a trick shown by Denisow et al. in "Dynamic Location Information in Attribute-Based Encryption Schemes".