As to the question in your title, player do get priority in the declare attackers step. Declaration of attackers is the first of the actual actions taken in the step. That's a separate step of the combat phase than the declare blockers step. You can cast instants and spells with flash before blockers are declared.
You can cast instant spells any time you have priority, including after attackers are declared and before blockers are declared (C.R. 116.1a, 508.2, 116.3d). See also this thread.
EDIT: Corrected rule citation after comment 5 was posted.
508. Declare Attackers Step
508.1. First, the active player declares attackers. (…)
508.2. Second, the active player gets priority. (See rule 116, “Timing and Priority.”)
116.3d (…) Then the next player in turn order receives priority.
I̟̥͍̠ͅn̩͉̣͍̬͚ͅ ̬̬͖t̯̹̞̺͖͓̯̤h̘͍̬e͙̯͈̖̼̮ ̭̬f̺̲̲̪i͙͉̟̩̰r̪̝͚͈̝̥͍̝̲s̼̻͇̘̳͔ͅt̲̺̳̗̜̪̙ ̳̺̥̻͚̗ͅm̜̜̟̰͈͓͎͇o̝̖̮̝͇m̯̻̞̼̫̗͓̤e̩̯̬̮̩n͎̱̪̲̹͖t͇̖s̰̮ͅ,̤̲͙̻̭̻̯̹̰ ̖t̫̙̺̯͖͚̯ͅh͙̯̦̳̗̰̟e͖̪͉̼̯ ̪͕g̞̣͔a̗̦t̬̬͓͙̫̖̭̻e̩̻̯ ̜̖̦̖̤̭͙̬t̞̹̥̪͎͉ͅo͕͚͍͇̲͇͓̺ ̭̬͙͈̣̻t͈͍͙͓̫̖͙̩h̪̬̖̙e̗͈ ̗̬̟̞̺̤͉̯ͅa̦̯͚̙̜̮f͉͙̲̣̞̼t̪̤̞̣͚e̲͉̳̥r͇̪̙͚͓l̥̞̞͎̹̯̹ͅi͓̬f̮̥̬̞͈ͅe͎ ̟̩̤̳̠̯̩̯o̮̘̲p̟͚̣̞͉͓e͍̩̣n͔̼͕͚̜e̬̱d̼̘͎̖̹͍̮̠,͖̺̭̱̮ ̣̲͖̬̪̭̥a̪͚n̟̲̝̤̤̞̗d̘̱̗͇̮͕̳͕͔ ͖̞͉͎t̹̙͎h̰̱͉̗e̪̞̱̝̹̩ͅ ̠̱̩̭̦p̯̙e͓o̳͚̰̯̺̱̰͔̘p̬͎̱̣̼̩͇l̗̟̖͚̠e̱͉͔̱̦̬̟̙ ̖͚̪͔̼̦w̺̖̤̱e͖̗̻̦͓̖̘̜r̭̥e͔̹̫̱͕̦̰͕ ̗͔̠p̠̗͍͍̱̳̠r̰͔͎̰o͉̥͓̰͚̥s̟͚̹̱͔̣t͉̙̳̖͖̪̮r̥̘̥͙̹a͉̟̫̟̳̠̟̭t͈̜̰͈͎e̞̣̭̲̬ ͚̗̯̟͙i͍͖̰̘̦͖͉ṇ̮̻̯̦̲̩͍ ̦̮͚̫̤t͉͖̫͕ͅͅh͙̮̻̘̣̮̼e͕̺ ͙l͕̠͎̰̥i̲͓͉̲g̫̳̟͈͇̖h̠̦̖t͓̯͎̗ ̳̪̘̟̙̩̦o̫̲f̙͔̰̙̠ ̹̪̗͇̯t͖̼̼͉͖̬h̹͇̩e͚̖̺̤͉̹͕̪ ͚͓̭̝̺G͎̗̯̩o̫̯̮̟̮̳̘d̜̲͙̠-̩̳̯̲̗̜P̹̘̥͉̝h͍͈̗̖̝ͅa͍̗̮̼̗r̜̖͇̙̺a̭̺͔̞̳͈o̪̣͓̯̬͙̯̰̗h̖̦͈̥̯͔.͇̣̙̝
EDIT: Corrected rule citation after comment 5 was posted.
508.1. First, the active player declares attackers. (…)
508.2. Second, the active player gets priority. (See rule 116, “Timing and Priority.”)
116.3d (…) Then the next player in turn order receives priority.
RULES OF MAGIC :
http://magic.wizards.com/en/game-info/gameplay/rules-and-formats/rules