Sounds like your image does not contain a band named "EVI". GEE usually names new indices as "nd" or "nd_1". You can check the bands names of your image in the console using: print(image.bandNames()). However, if you want to rename the bands, you can use image.rename().
Yes. As already mentioned above, bands variable must include name of all the bands you wish to use for classification. By default after NDVI calculation using image.normalizedDifference() function band name is 'nd'. So, check band name using image.bandNames() function or rename it using image.rename()