Although you use named ranges they static and not DYNAMIC, thus everytime you add more data the new data falls outside of the named range.

If you use a dynamic named range, then you should get the results you want.