Here is the problem
const byte numCharsSlave = 500;
You need to change from byte to int because a byte has a maximum value of 255
Are you sure that all the data can comfortably fit within 500 characters? if not try increasing the buffer size to 600 or 700.
Also it would be a good idea to print the received data before your try to parse it - just so you know it what has been received.
...R