As the documentation of VertexCoordinates,it is a bug indeed presisting many version.
VertexCoordinates
The method based on Thread always is my choice currently.
Thread
Graph[g, VertexCoordinates -> Thread[VertexList[g] -> RandomReal[1