Die AccelStepper Lib ist eine sehr mächtige und vielfach eingesetzte Library, aber sie steuert den Schrittmotor nicht wirklich im Hintergrund an. Nur wenn 'stepper.run()' ausgeführt wird, werden gegebenenfalls Schritte ausgegeben.
Dein Programmblock zum Einlesen scheint mir recht zeitintensiv. Es werden allerhand Daten gelesen, und dann auch noch mehrfach trigonometrische Funktionen ausgeführt, was auf dem Uno recht viel Zeit kostet.
Wenn Du Accel-Stepper in deinem Sketch einsetzen willst, wirst Du innerhalb des loops die stepper.run häufiger aufrufen müssen. Versuch mal in dem Programmblock zum Lesen des Winkels alle paar Befehle, und vor allem nach jedem trigonometrischen Befehl, einen Aufruf 'stepper.run()' einzufügen. Lieber zu viel als zu wenig.
P.S. Welche HW setzt Du überhaupt ein? Auf einem 'Standard' Arduino mit AtMega Prozessoren ist aus Performancegründen double dasselbe wie float. Da gewinnst Du also keine zusätzliche Genauigkeit.