Bear in mind Elements of Statistical Learning is a grad-level text. I would never recommend that to a beginner to the field over an Introduction to Statistical Inference, by the same authors.
Geron Aurelien's Oreilly book is great - Hands-On Machine Learning with Scikit-Learn and TensorFlow. Get the second edition which covers Tensorflow 2.
You're right about ESL, that's why I started the list with some more fundamental material. Also, +1 for Aurelien's book, it's really good; I didn't know he had a revised edition for TensorFlow 2.
Geron Aurelien's Oreilly book is great - Hands-On Machine Learning with Scikit-Learn and TensorFlow. Get the second edition which covers Tensorflow 2.