ol.dac_player is initialized as part of the mtsOverlay object when you call ol = mtsOverlay('mts.bit').
The full definition of mtsOverlay is here, in the same repo.
The dac_player is initialized as a NumPy array. NumPy arrays are initialized with a shape (corresponding to length here as the array is one-dimensional). Thus is why you can access dac_player.shape in Cell 3.
In Cell 5 ol.dac_player[:] = np.int16(DAC_sinewave) performs an in-place copy of the sine wave into the dac_player. The [:] syntax is used to replace the values of the array without creating a new one. See this StackOverflow post for more information on that syntax.