Your final dataframe df_join will have twice the column col1. once from df1 and from df2. Here is a join that works:
df_join
col1
df_join = df1.select("col1").join(df2.select("col2"), df1["col1"] == df2["col2"], "inner")