Best is create dictionary of Series:
dfs = master_df.set_index('Date').to_dict('series')
print (dfs)
{'A': Date
2018-01-01 1
2018-01-02 2
2018-01-03 2
2018-01-04 3
2018-01-05 1
2018-01-06 3
Name: A, dtype: int64, 'B': Date
2018-01-01 10
2018-01-02 10
2018-01-03 20
2018-01-04 30
2018-01-05 NaN
2018-01-06 10
Name: B, dtype: object, 'C': Date
2018-01-01 1
2018-01-02 3
2018-01-03 NaN
2018-01-04 7
2018-01-05 5
2018-01-06 4
Name: C, dtype: object}
Or dictionary of one column DataFrames:
dfs = {k: v.to_frame() for k, v in master_df.set_index('Date').to_dict('series').items()}
print (dfs)
{'A': A
Date
2018-01-01 1
2018-01-02 2
2018-01-03 2
2018-01-04 3
2018-01-05 1
2018-01-06 3, 'B': B
Date
2018-01-01 10
2018-01-02 10
2018-01-03 20
2018-01-04 30
2018-01-05 NaN
2018-01-06 10, 'C': C
Date
2018-01-01 1
2018-01-02 3
2018-01-03 NaN
2018-01-04 7
2018-01-05 5
2018-01-06 4}
EDIT: It is not recommended, but possible :
for k, v in master_df.set_index('Date').to_dict('series').items():
globals()[k] = v.to_frame()
print (A)
A
Date
2018-01-01 1
2018-01-02 2
2018-01-03 2
2018-01-04 3
2018-01-05 1
2018-01-06 3