Speaker sound does not play when set with Python
If my_file_path is a relative path, use the absolute file path instead. 

Be aware that bpy.ops.sound.open_mono gives no warning or error message even if the audio file is not found (or does not exist). The sound still shows up normally in the speaker-menu but you can't hear anything.

I also had to call update_tag() and relink the speaker to the collection. I have no clue why this is necessary, but the following code works in Blender 2.83:

my_file_path = "/absoulute/path/to/test.mp3"
bpy.ops.object.speaker_add()
speaker = bpy.context.object
speaker.data.sound = bpy.data.sounds.load(my_file_path)
speaker.data.update_tag()
bpy.context.collection.objects.unlink(speaker)
bpy.context.collection.objects.link(speaker)