Rookie Question On Combining PCA and Bayesian Inference

One thing I can see right away is that you only have a single estimated weight shared by all factors. This line here:

    #define priors /parameters
    factors = pm.Normal('factors', mu=0, sigma=10)

Only defines a single normal distribution. So when you do this:

    #define likelihood
    equation = (factors * df).sum(axis=1)

You are defining the mean of the data generating process as:
\mu_i= \sum_{j=0}^k \beta X_{i, j}

That is, every column of data (indexed by j) gets the same weight \beta. If you wanted a different weight for each component, you need to make more betas, as follows:

    #define priors /parameters
    factors = pm.Normal('factors', mu=0, sigma=10, size=(k,))
    
    #define likelihood
    equation = df @ factors # (n, k) (k, ) -> (n,)

Are you trying to combine economic indicators into a single index and do PC-OLS? If so, the observed data should be your variable of interest (GDP), not the principal components. You can get the weights used to compute the principal components directly from the sklearn PCA object, see here for details.