How to determine the part of speech tags of words succeeding 不 like these?
Basically:

趕不上 is a [(趕) verb + (不) potential particle + (上) directional  particle] structure.

找不到 is a [(找) verb + (不) potential particle + (到) attainment / achievement particle] structure.


In 趕上, 趕 is the verb &quot;to rush&quot;, and 上 is a directional particle that indicates the direction of the verb apply to (forward)

趕 = to rush; 趕上 = to catch up

In 找到, 找 is the verb &quot;to find&quot;, and 到 is a particle that indicates the success of the verb (attainment / achievement)

找= to find; 找到 = have found

I had explained the role of potential particle in other answers before:

「得」or 「不」 are the two potential particles that indicate &quot; &quot;able , or &quot;unable&quot;
*Potentially, you either able or unable to. That's why they are called potential particles.