I'm trying to understand why I have a share reject rate of 1.2% but my speed reject rate is 14%


Each share can have different value - depending on difficulty. If mining program only counts shares but not their difficulty, then you can get these results. It also depends on intervals. We use 5 minute measuring interval. Mining program may be using different one. Remember, to get actual speed, you need to multiply share(s) with their difficulty.