In this paper, we study the joint 3D placement of unmanned aerial vehicles (UAVs) and users association under bandwidth limitation and quality of service constraints. In order to allow to UAVs to dynamically change their 3D locations in a distributed fashion while maximizing the network's sum-rate, we break the underlying optimization into 3 subproblems where we separately solve the 2D UAVs positioning, the altitude optimization, and the UAVs-users association. First, given fixed 3D positions of UAVs, we propose a fully distributed matching based association that alleviates the bottlenecks of the bandwidth and guarantees the required quality of service. Next, to address the 2D positions of UAVs, we adopt a modified version of K-means algorithm, with a distributed implementation, where UAVs dynamically change their 2D positions in order to reach the barycenter of the served users cluster. In order to optimize the UAVs altitudes, we study a naturally defined game-theoretic version of the problem and show that under fixed UAVs 2D coordinates, a predefined association scheme, and limited-interferences, the UAVs altitudes game is a non-cooperative potential game where the players (UAVs) can maximize the limited-interference sum-rate by only optimizing a local utility function. Our simulation results show that, using the proposed approach, the network's sum rate of the studied scenario is improved by 200% as compared with the trivial case where the classical version of K-means is adopted and users are assigned, at each iteration, to the closest UAV.