On max settings at 60 FPS solid a GTX 1070 would be your best bet for most the aforementioned games. A GTX 1060 6GB and RX 580 8GB would be capable of High/Ultra in most for cheaper but you may need to turn down some advanced affects and AA in favour of FPS consistency. So if you have the budget, a GTX 1070 will be a prefect choice, if you prefer to spend less a GTX 1060 6GB or RX 580 8GB will get the job done in most cases minus a few settings from"Max".
For the CPU, an i5 7500 or Ryzen 5 1600 would game with the aforementioned GPU at 1080p just fine but some games will find a performance boost using am i7 such as the Witcher 3 in cities and such i know will benefit slightly from the i7. If you do go the i7, stick with a 7700K over a...