A single column is (usually) a pandas Series, and as EdChum mentioned, DataFrame.apply has axis argument but Series.apply hasn't, so apply on axis=1 wouldn't work on columns.
The following works:
df['col'].apply(lambda x, y: (x - y).total_seconds(), args=(d1,))
For applying a function for each element in a row, map can also be used:
df['col'].map(lambda x: (x - d1).total_seconds())
As apply is just a syntactic sugar for a Python loop, a list comprehension may be more efficient than both of them because it doesn't have the pandas overhead:
[(x - d1).total_seconds() for x in df['col'].tolist()]
For a single column DataFrame, axis=1 may be passed:
df[['col']].apply(lambda x, y: (x - y).dt.total_seconds(), args=[d1], axis=1)
PSA: Avoid apply if you can
apply is not even needed most of the time. For the case in the OP (and most other cases), a vectorized operation exists (just subtract d1 from the column - the value is broadcast to match the column) and is much faster than apply anyway:
(df['col'] - d1).dt.total_seconds()
Timings
The vectorized subtraction is about 150 times faster than apply on a column and over 7000 times faster than apply on a single column DataFrame for a frame with 10k rows. As apply is a loop, this gap gets bigger as the number of rows increase.
df = pd.DataFrame({'col': pd.date_range('2000', '2023', 10_000)})
d1 = df['col'].min()
%timeit df['col'].apply(lambda x, y: (x - y).total_seconds(), args=[d1])
# 124 ms ± 7.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit df['col'].map(lambda x: (x - d1).total_seconds())
# 127 ms ± 16.8 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit [(x - d1).total_seconds() for x in df['col'].tolist()]
# 107 ms ± 4.14 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit (df['col'] - d1).dt.total_seconds()
# 851 µs ± 189 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit df[['col']].apply(lambda x, y: (x - y).dt.total_seconds(), args=[d1], axis=1)
# 6.07 s ± 419 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)