In this paper, we study the joint 3D placement of unmanned aerial vehicles (UAVs) and UAVs-users association under bandwidth limitation and quality of service constraint. In particular, in order to allow to UAVs to dynamically improve 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 bandwidth allocation 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 cluster that is composed of the served ground users. 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-interference, 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. Therefore, we adopt the best response dynamics to reach a Nash equilibrium of the game which is also a local optimum of the social welfare function. Our simulation results show that, using the proposed approach, the network's sum rate of the studied scenario is improved 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.