attractは一般的に魅力がある、charmは少しミステリアスな魔力があるような魅力。もう一つ使うのにfascinated。こちらは魅了される、惹きつけられるような魅力。
言いたいことに即して使えば良いのですが、こう言う時に一番役に立つのはgoogleなどで例文を入れてみて検索してみることです。例えば、
attractive city, attracted by the city
charming city, charmed by the city
fascinating city, fascinated by the city
など入れてみて上がってくる件数の多さや使い方を見るのが英英辞典などで調べるよりも役に立ちます。