How to label the nodes ( coordinates ) in tikz picture?
You can directly give labels to the coordinates in your first picture, which I guess is the most natural way:
\documentclass[tikz, convert={density=300,size=256,outext=.png}]{standalone}
\usetikzlibrary{quotes,angles}
\begin{document}
\begin{tikzpicture} %[scale=3]
\draw (0,0) node[below]{$O$} circle (2);
\coordinate[label=above:A] (A) at (120:2);
\coordinate[label=below left:B] (B) at (210:2);
\coordinate[label=below right:C] (C) at (-40:2);
\coordinate[label=above:D] (D) at ( 60:2);
%\draw (A) -- (C) -- (D) -- (B) -- (A);
\draw (B) -- (A) -- (C) pic [draw, angle radius=12mm, "$30^\circ$"] {angle = B--A--C};
\draw (D) -- (B) -- (A) pic [draw, angle radius=15mm, "$15^\circ$"] {angle = D--B--A};
\draw (B) -- (D) -- (C) pic [angle radius=12mm, "$ x^\circ$", draw] {angle = B--D--C};
\end{tikzpicture}
\end{document}
By the way, you don't need to draw your lines the first time.
I used the positioning library:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{quotes,angles,positioning}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[below]{$O$} circle (2);
\coordinate (A) at (120:2);
\node at (A) [above = 1mm of A] {$A$};
\coordinate (B) at (210:2);
\node at (B) [below left = 1mm of B] {$B$};
\coordinate (C) at (-40:2);
\node at (C) [below = 1mm of C] {$C$};
\coordinate (D) at ( 60:2);
\node at (D) [above right = 0.7mm of D] {$D$};
\draw (A) -- (C) -- (D) -- (B) -- (A);
\draw (B) -- (A) -- (C) pic [draw, angle radius=12mm, "$30^\circ$"] {angle = B--A--C};
\draw (D) -- (B) -- (A) pic [draw, angle radius=15mm, "$15^\circ$"] {angle = D--B--A};
\draw (B) -- (D) -- (C) pic [angle radius=12mm, "$ x^\circ$", draw] {angle = B--D--C};
\end{tikzpicture}
\end{document}