So basically you can't answer that conclusively, but GoPro gives a very good overview on its site itself: https://gopro.com/support... The times are based on a 64GB microSD, so simply double the times for a 128GB. I think that gives you a good indication of how long you can record... if the battery lasts that long.
This question cannot be answered in this way because the recording time depends strongly on the film format used (compressed, e.g. MP4 or RAW, etc.) and on the resolution. "GoPro" or "slow motion" are not known resolutions. In addition, with a compressed format it also depends on how strong the compression is. For example, if you take a relatively static picture, the compression can save a lot of space, but if the films are very animated, more space is needed. I don't think anyone can give a general answer to this question. The most you can do is try to estimate roughly how much will fit on the card based on the size of films you have already shot.