Forget ActiveX controls. You need Picture Content controls. If you insert such controls and title them Picture1 to Picture50 then it is a simple matter to loop through the images and add a corresponding numbered image. e.g.
Dim oCC As ContentControl
Dim i As Integer
For i = 1 To 503
Set oCC = ActiveDocument.SelectContentControlsByTitle("Picture" & i).Item(1)
oCC.Range.InlineShapes.AddPicture "C:\Path\ImageName" & i & ".png"
Next i
Set oCC = Nothing
Obviously in this case the images must also be named ImageName1 to ImageName50 and all be in the same folder, which seems unlikely, so you are going to have to list the images and correspond them to the appropriate content controls. If the names of the images are subject to constant change then you will need to produce an appropriate list each time and relate the lines of that list to the numbered controls. A text file with a filename and its path on each line in the order that they are placed is the simplest approach and you could then modify the code as follows to read that text file and fill the content controls.
Sub InsertImages()
Const strFilename As String = "C:\Path\ImageList.txt"
Dim oCC As ContentControl
Dim iFile As Integer, i As Integer
Dim strDataLine As String
iFile = FreeFile()
Open strFilename For Input As #iFile
i = 0
On Error GoTo lbl_Exit
While Not EOF(iFile)
i = i + 1
Line Input #iFile, strDataLine
Set oCC = ActiveDocument.SelectContentControlsByTitle("Picture" & i).Item(1)
oCC.Range.InlineShapes.AddPicture strDataLine
Wend
lbl_Exit:
Set oCC = Nothing
End Sub
If the images are all together or in blocks of multiple images, you may find https://www.gmayor.com/photo_gallery_template.html useful. As for inserting content controls and/or retitling them see https://www.gmayor.com/insert_content_control_addin.htm