When you use as_dataframe=True, ulmo is returning a dictionary of pandas dataframes, one for each parameter. For example in your case, data['PRCP'] is a dataframe that includes the various flags that comes with each parameter.
If what you want is the all the parameter values in one dataframe, you could do the following:
import pandas as pd
df = pd.concat({col:data[col]['value'] for col in data.keys()}, axis=1)
this will give you a dataframe that has time as the index and the parameters as columns.
- dharhas