На самом деле есть разница. Если вы напечатаете оба класса, вы увидите:
from tensorflow.python.keras.optimizers import Adam
print(Adam)
print(tf.optimizers.Adam)
<class 'tensorflow.python.keras.optimizers.Adam'>
<class 'tensorflow.python.keras.optimizer_v2.adam.Adam'>
Так что в первом случае Адам наследует от какого-то другого класса. Он предназначен для использования внутри цикла обучения Keras, поэтому в нем нет метода минимизации. Чтобы убедиться, давайте получим все методы класса
import inspect
from tensorflow.python.keras.optimizers import Adam
print(inspect.getmembers(Adam(), predicate=inspect.ismethod))
Вывод показывает, что этот класс даже не имеет минимизации