Use how='cross' as parameter of pd.merge:
out_df = pd.merge(df2, df1, how='cross')
print(out_df)
# Output
         Date    Name Gender
0   2/22/2021     Sam      M
1   2/22/2021  Nathan      M
2   2/22/2021   Aaron      M
3   2/22/2021   Emily      F
4   2/23/2021     Sam      M
5   2/23/2021  Nathan      M
6   2/23/2021   Aaron      M
7   2/23/2021   Emily      F
8   2/24/2021     Sam      M
9   2/24/2021  Nathan      M
10  2/24/2021   Aaron      M
11  2/24/2021   Emily      F
12  2/25/2021     Sam      M
13  2/25/2021  Nathan      M
14  2/25/2021   Aaron      M
15  2/25/2021   Emily      F
Setup MRE
df1 = pd.DataFrame({'Name': ['Sam', 'Nathan', 'Aaron', 'Emily'], 
                    'Gender': ['M', 'M', 'M', 'F']})
df2 = pd.DataFrame({'Date': ['2/22/2021', '2/23/2021', '2/24/2021', '2/25/2021']})