so... I rewrote your first command so that it is more readable:

	/summon Skeleton ~ ~3 ~ 
	{
		CustomName:"Enemy",
		CustomNameVisible:1,
		ArmorItems:
		[
			{},
			{},
			{},
			{
				id:"minecraft:leather_helmet",
				Count:1b,
				tag:
				{
					Unbreakable:1,
					display:
					{
						color:0
					}
				}
			}
		],
		HandItems:
		[
			{
				id:"minecraft:bow",
				Count:1b,
				tag:
				{
					Unbreakable:1,
					ench:
					[
						{id:48,lvl:2999}
					]
				}
			},
			{
				id:"minecraft:totem_of_undying",
				Count:1b,
				tag:
				{
					display:
					{
						Name:"Life",
						Lore:["For Another Life"]
					}
				}
			}
		],
		ArmorDropChances:[0.085F,0.085F,0.085F,0.0F],
		HandDropChances:[0.0F,2.0F],
		UUIDLeast:0L,UUIDMost:0L,
		ActiveEffects:
		[
			{Id:11,Amplifier:2999,Duration:100,ShowParticles:0b}
		]
	}

All your brackets are balanced, so that's all fine. I do notice that some of the values don't have a type identifier behind them, which isn't Always necessary, but I usually just do it. It's good practice.

You give this skeleton both a UUIDLeast of 0 and a UUIDMost of 0
Notice that UUID stands for Unique User ID. This means that every entity needs a unique UUID. You are summoning skeletons with the same UUID, which is not possible.

But further than that, your command looks completely fine.