Hopefully someone who has more expertise with this client can chime in. As its a third party product we can try to be helpful, but there are probably other foruums where you may get faster/more detailed answers.
You could try reaching the author via the unreal forums or through their website
With that said, as all the code is open source you should be able to see how things are wired/should be wired.
As to your questions:
1. How did they get the errror message on the OnDescribeGameSessionStatsFailed_Event
Code gets the outcome of DescribeGameSession, if the call failed, they get the error on the outcome and from that its error message. Thats then broadcast to the the event as a string.
2. How did they get the game session id on the OnCreateSessionSuccess?
Code gets the outcome from CreateGameSession and from the outcome you can get the game session id. If the outcome says things were successful its just broadcast to the OnCreateSessionSuccess event
3. What to wire to the key/value part of Make GameLiftGameServerProperties?
This is a way of wiring up the set of key-value pairs that contain information about a game session, see
so these should be wired up with Strings that represent the key/values your game session requires.